2013-08-06 70 views
2

我創建了用於加密的加密方法,解密重要數據。 樣品我的加密方法:雙向加密算法php如何加密數據比輸入數據更短?

$str='some important text'; // 19 
// encrypted $str : 'A6oLM5{!lr4Y9xON4-55Tty%>6A4vgU^893cGv)g' // 40 

你看到輸入的長度是19和輸出是40

我發現加密比輸入數據更短的數據的一些雙向加密方法。

這怎麼可能?

+0

這是更好地爲更好的解釋提供了一個例子 – 2013-08-06 22:11:32

+0

哪個「加密」方法會是?也許他們實際上不是加密,或者至少不是專有的(例如,加密+壓縮)。 – delnan

+0

你做到了嗎?不知道。你可能只是想錯了。很難說沒有看到更多的代碼。 –

回答

1

我懷疑你還考慮過一些散列算法,如md5,sha等,它們爲任何給定的數據提供了固定長度的結果。

另一種可能性是壓縮,例如:

我壓縮這個使用這個網站:http://www.unit-conversion.info/texttools/compress/

1111111111222222222233333333334444444444555555555566666666667777777777 
888888888899999999990000000000 

結果是:

eNo9wbEBABAMALCXlFL+f8zUJBFtskg2h+LyGHz9kBSD 
2

你還沒有說過(或顯示我們)你的加密算法是什麼。你也沒有提供一個例子來支持你的問題(你提供的例子顯示的是相反的結果)

簡短的回答是它不會更短 - 加密數據不可能小於源數據 - 任何好的加密算法不會簡單地替換單個字符,而是根據輸入序列生成輸出。通常它是密鑰大小的倍數並且大於輸入。

您似乎看到輸出較短是由於輸入在加密前被壓縮。