2012-03-25 48 views
-2

我正在編寫一個解決方案,要求將數據加密到相同長度的字符串中。有沒有一種加密方式可以在php中輕鬆實現,符合這個標準?

該解決方案需要滿足此條件:

  • 在PHP易於實施
  • 創建相同的長度輸出,而不管長度(類似於MD5)的編輯:時間重新定義。從相同的輸入長度創建相同的輸出長度。
  • 可以加密一個字符串(不管這個)
  • 公鑰加密沒問題,我會保密私鑰存儲,不管是什麼,也不會分發。

基本上我只是需要一些類型的加密來處理這個問題,MD5將是答案,但我需要解密一切。

我花了幾個小時看這個。我一直無法找到任何東西。

+1

這是因爲它是不可能解決第2點和第3點。 – 2012-03-25 03:04:23

+0

好吧,也許我應該重新定義。兩個長度相同的輸入創建相同的輸出長度。如果字符串需要先被加密爲二進制文件,我很好。 – Tom 2012-03-25 03:08:50

+0

爲什麼這樣的「相同長度」的要求? – 2012-03-25 03:13:06

回答

2

如果它被稱爲加密可以加密字符串

,它必須是可逆的,因此..

創建一個相同長度的輸出,無論長(類似於MD5)

是不可能的。

1

我建議你去看看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

+0

謝謝,我相信這也應該起作用。它甚至可能會更好一點。好的是,我有下個月寫PHP的加密,我將要做的。我今晚會讀到這個,然後在早上崩潰。 – Tom 2012-03-25 03:35:27

相關問題