我正在編寫一個解決方案,要求將數據加密到相同長度的字符串中。有沒有一種加密方式可以在php中輕鬆實現,符合這個標準?
該解決方案需要滿足此條件:
- 在PHP易於實施
- 創建相同的長度輸出,而不管長度(類似於MD5)的編輯:時間重新定義。從相同的輸入長度創建相同的輸出長度。
- 可以加密一個字符串(不管這個)
- 公鑰加密沒問題,我會保密私鑰存儲,不管是什麼,也不會分發。
基本上我只是需要一些類型的加密來處理這個問題,MD5將是答案,但我需要解密一切。
我花了幾個小時看這個。我一直無法找到任何東西。
我正在編寫一個解決方案,要求將數據加密到相同長度的字符串中。有沒有一種加密方式可以在php中輕鬆實現,符合這個標準?
該解決方案需要滿足此條件:
基本上我只是需要一些類型的加密來處理這個問題,MD5將是答案,但我需要解密一切。
我花了幾個小時看這個。我一直無法找到任何東西。
如果它被稱爲加密可以加密字符串
,它必須是可逆的,因此..
創建一個相同長度的輸出,無論長(類似於MD5)
是不可能的。
我建議你去看看MCrypt擴展庫,有很多暗號可獲取的,並已經實施。 但是我不認爲他們可以滿足你的第二個標準(因爲他們添加填充如果需要的話)。
或者你可以嘗試實現一個CTS算法,它可以讓你滿足你的第二個標準。但是CTS帶來了複雜性。 目前已經在CTS後在SO:Cipher Text Stealing Algorithms - Which one is correct?
編輯:如果你不能使用這個Mcrypt,並確定與使用塊加密(因此PADD原始數據如果需要的話)加密,您可以使用此實現AES密碼:http://www.movable-type.co.uk/scripts/aes-php.html Regards
謝謝,我相信這也應該起作用。它甚至可能會更好一點。好的是,我有下個月寫PHP的加密,我將要做的。我今晚會讀到這個,然後在早上崩潰。 – Tom 2012-03-25 03:35:27
這是因爲它是不可能解決第2點和第3點。 – 2012-03-25 03:04:23
好吧,也許我應該重新定義。兩個長度相同的輸入創建相同的輸出長度。如果字符串需要先被加密爲二進制文件,我很好。 – Tom 2012-03-25 03:08:50
爲什麼這樣的「相同長度」的要求? – 2012-03-25 03:13:06