如果是定長的都是8位的話,這裡就可能是一種單向加密的方式,而就是說,只存在從明文向密文進行的一個加密過程,不存在一個由密文嚮明文的解密過程,這種單向加密又稱非可逆性加密,多用於校檢式對比.校驗顯然不須要知道明文就可以了,所以採用的是單向加密,比較代表性的就是MD5,SHA-1等演算法.因為明文一般是4-16位,而加密後的密文只有8位,若是一個雙向加密,顯然明文長度大於密文長度,這裡其實是說,明文的容量大於密文的容量,不管是那種加密演算法,都會造成大量的"碰撞"!而一個雙向加密演算法的好壞,碰撞機率是一個非常重要的因素的!顯然,若是隻有8位時,只能說是一個不太好的校驗方式演算法,也就是單向演算法的.所謂的碰撞就是指的有兩個不同的明文會得到相同的密文,那麼這兩個明文就發生了碰撞.這個機率越大,則演算法的可行性越差!而若是單向校驗,也就是單向加密,這裡雖然碰撞機率大,但可以用程式去做一下控制的!比如你輸入三次密碼如果校驗不成功,則將帳戶進行封凍等都是較好的手段!而雙向加密,別人可以直接進行演算法測試,不會依賴於程式,則很容易破解的.這與密碼設計的初衷是背離的.如果是8位定長,也就是說不管你是多少位密碼,這極可能是MD5加密或是MD5的前身MD4與MD2加密.也可能是程式設計者自己設計的演算法!但絕對是一個單向加密的!MD5你可能見過16位的和32位或者更多的.其實你看一下其中的具體實現就知道了,他是四組值進行運算的,最終這四組若是b+c(第二組與第三組組合)就是MD5的16位演算法.若是a+b+c+d四組全組合時就是32位的演算法.但如果系統對於密碼強度大小不是很大時,為了省卻計算機的運算時間,完全可以只有用其中四組中的一組,也就是所能看到的8位的.這種演算法是MD5,但只取的是其中的一組值的.而MD2與MD4恰恰就是與此類似的!因為安全性不強的緣故,現在已經很少或是沒有地方使用了!至少現在的系統中我還沒有看到過.
如果是定長的都是8位的話,這裡就可能是一種單向加密的方式,而就是說,只存在從明文向密文進行的一個加密過程,不存在一個由密文嚮明文的解密過程,這種單向加密又稱非可逆性加密,多用於校檢式對比.校驗顯然不須要知道明文就可以了,所以採用的是單向加密,比較代表性的就是MD5,SHA-1等演算法.因為明文一般是4-16位,而加密後的密文只有8位,若是一個雙向加密,顯然明文長度大於密文長度,這裡其實是說,明文的容量大於密文的容量,不管是那種加密演算法,都會造成大量的"碰撞"!而一個雙向加密演算法的好壞,碰撞機率是一個非常重要的因素的!顯然,若是隻有8位時,只能說是一個不太好的校驗方式演算法,也就是單向演算法的.所謂的碰撞就是指的有兩個不同的明文會得到相同的密文,那麼這兩個明文就發生了碰撞.這個機率越大,則演算法的可行性越差!而若是單向校驗,也就是單向加密,這裡雖然碰撞機率大,但可以用程式去做一下控制的!比如你輸入三次密碼如果校驗不成功,則將帳戶進行封凍等都是較好的手段!而雙向加密,別人可以直接進行演算法測試,不會依賴於程式,則很容易破解的.這與密碼設計的初衷是背離的.如果是8位定長,也就是說不管你是多少位密碼,這極可能是MD5加密或是MD5的前身MD4與MD2加密.也可能是程式設計者自己設計的演算法!但絕對是一個單向加密的!MD5你可能見過16位的和32位或者更多的.其實你看一下其中的具體實現就知道了,他是四組值進行運算的,最終這四組若是b+c(第二組與第三組組合)就是MD5的16位演算法.若是a+b+c+d四組全組合時就是32位的演算法.但如果系統對於密碼強度大小不是很大時,為了省卻計算機的運算時間,完全可以只有用其中四組中的一組,也就是所能看到的8位的.這種演算法是MD5,但只取的是其中的一組值的.而MD2與MD4恰恰就是與此類似的!因為安全性不強的緣故,現在已經很少或是沒有地方使用了!至少現在的系統中我還沒有看到過.