離心機(jī)原理 網(wǎng)絡(luò)安全中加密和解密的原理是什么?
網(wǎng)絡(luò)安全中加密和解密的原理是什么?計(jì)算機(jī)通訊中,有幾個(gè)加密解密的方式:1.單項(xiàng)加密:?jiǎn)雾?xiàng)加密是將數(shù)據(jù)加密成一個(gè)叫“特征碼”的數(shù)據(jù)。無法進(jìn)行解密,故用特征碼無法解密成原數(shù)據(jù)。常用算法:MD5、SHA12
網(wǎng)絡(luò)安全中加密和解密的原理是什么?
計(jì)算機(jī)通訊中,有幾個(gè)加密解密的方式:
1.單項(xiàng)加密:
單項(xiàng)加密是將數(shù)據(jù)加密成一個(gè)叫“特征碼”的數(shù)據(jù)。無法進(jìn)行解密,故用特征碼無法解密成原數(shù)據(jù)。常用算法:MD5、SHA1
2.對(duì)稱加密:
對(duì)稱加密是使用同一密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密。
該類型加密使得不同通訊雙方使用不同的密碼,導(dǎo)致密鑰過多,難以管理。且交換密鑰也不夠安全。常用算法:DES、3DES、AES3.非對(duì)稱加密:
非對(duì)稱加密使用一個(gè)公鑰和一個(gè)私鑰,如果用公鑰加密信息,就需要用配對(duì)的私鑰才能解密。私鑰只能由一方安全保管,不能外泄。公鑰可以分發(fā)給請(qǐng)求密鑰的人,甚至全部公開。常用算法:RSA,DSA,EIGamal
銀行卡的密碼為什么只是六位數(shù)字?
銀行采用6位短時(shí)記憶,是有一定道理的。首先,持卡人忘記單個(gè)數(shù)字的概率是一樣的,密碼的位數(shù)越多,錯(cuò)誤的可能性越大。如果加大密碼位數(shù)的話,持卡人輸錯(cuò)密碼的概率會(huì)增加(在目前三次密碼試錯(cuò)之后,就必須到柜臺(tái)進(jìn)行辦理,這樣每天到銀行辦理密碼掛失的人超過辦理其他正常業(yè)務(wù)的人,這會(huì)使得其他業(yè)務(wù)得不到正常辦理),這樣重新輸入密碼乃至銀行解鎖都會(huì)降低效率。這說明密碼的位數(shù)不能太長(zhǎng),但是也不能太短,否則試對(duì)的可能性很高。每增加一位數(shù)字,其試對(duì)的可能性為前次的十分之一。從記憶上來說,6位是最符合的。
銀行卡密碼如果為四位數(shù),那么密碼可能種數(shù)就是10的4次方,也就是一萬種。考慮到四位數(shù)字輸入時(shí)容易被旁人記憶,已經(jīng)密碼破譯程度低的原因,需要增加密碼的位數(shù)。增加到六位數(shù)的話有10的六次方,也就是一百萬種,而且長(zhǎng)度適中;還有一個(gè)就是記憶規(guī)則,一般來說文字的話五字和七字比較好記憶,數(shù)字六個(gè)字比較好記憶。
C#怎么實(shí)現(xiàn)對(duì)文件的加密和解密?
如果你用VS作為C#開發(fā)的IDE,那么VS好像是自帶有加密組件的。n年前寫過一個(gè)這樣的程序,需要對(duì)本地配置文件內(nèi)容加密保存,特別是數(shù)據(jù)庫(kù)連接配置信息。
引用加密組件之后,可以使用你自己定義的密鑰創(chuàng)建兩個(gè)函數(shù),一個(gè)是加密函數(shù),一個(gè)解密函數(shù)。
分別調(diào)用這兩個(gè)函數(shù)來對(duì)本地文件內(nèi)容進(jìn)行加密解密處理即可。