我創建了用於加密的加密方法,解密重要數據。 樣品我的加密方法:雙向加密算法php如何加密數據比輸入數據更短?
$str='some important text'; // 19
// encrypted $str : 'A6oLM5{!lr4Y9xON4-55Tty%>6A4vgU^893cGv)g' // 40
你看到輸入的長度是19和輸出是40
我發現加密比輸入數據更短的數據的一些雙向加密方法。
這怎麼可能?
我創建了用於加密的加密方法,解密重要數據。 樣品我的加密方法:雙向加密算法php如何加密數據比輸入數據更短?
$str='some important text'; // 19
// encrypted $str : 'A6oLM5{!lr4Y9xON4-55Tty%>6A4vgU^893cGv)g' // 40
你看到輸入的長度是19和輸出是40
我發現加密比輸入數據更短的數據的一些雙向加密方法。
這怎麼可能?
我懷疑你還考慮過一些散列算法,如md5,sha等,它們爲任何給定的數據提供了固定長度的結果。
另一種可能性是壓縮,例如:
我壓縮這個使用這個網站:http://www.unit-conversion.info/texttools/compress/
1111111111222222222233333333334444444444555555555566666666667777777777
888888888899999999990000000000
結果是:
eNo9wbEBABAMALCXlFL+f8zUJBFtskg2h+LyGHz9kBSD
你還沒有說過(或顯示我們)你的加密算法是什麼。你也沒有提供一個例子來支持你的問題(你提供的例子顯示的是相反的結果)
簡短的回答是它不會更短 - 加密數據不可能小於源數據 - 任何好的加密算法不會簡單地替換單個字符,而是根據輸入序列生成輸出。通常它是密鑰大小的倍數並且大於輸入。
您似乎看到輸出較短是由於輸入在加密前被壓縮。
這是更好地爲更好的解釋提供了一個例子 – 2013-08-06 22:11:32
哪個「加密」方法會是?也許他們實際上不是加密,或者至少不是專有的(例如,加密+壓縮)。 – delnan
你做到了嗎?不知道。你可能只是想錯了。很難說沒有看到更多的代碼。 –