2016-03-21 60 views
-1

我有一些需要加密數據庫存儲的表單輸入。我不確定我是否使用最好的加密技術。這是我使用保存在環境文件中的字符串進行加密和解密。這是一種將字符串加密成數據庫的好方法嗎?

class encrypt 
{ 
    public static function encrypt_text($value) 
    { 
    if(!$value) return false; 

     $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, env('ENCRYPT_STRING_1'), $value, MCRYPT_MODE_ECB, env('ENCRYPT_STRING_2')); 
     return trim(base64_encode($crypttext)); 
    } 

    public static function decrypt_text($value) 
    { 
     if(!$value) return false; 

     $crypttext = base64_decode($value); 
     $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, env('ENCRYPT_STRING_1'), $crypttext, MCRYPT_MODE_ECB, env('ENCRYPT_STRING_2')); 
     return trim($decrypttext); 
    } 
} 
+1

取決於你正在加密的私人消息 - 真棒。對於密碼或敏感數據 - 不。 – KDOT

+1

這不是很棒。 –

回答

3

您的加密代碼存在問題。

回到你發現那個代碼的地方,告訴他們他們教你錯了。 See this answer爲更好的選擇。

+0

'回到你發現那個代碼的地方,告訴他們他們教你錯了 - 你剛剛把他送到了大概100多個網站;你有關於這個的博客嗎?通讀您的答案和完整性鏈接很有意思。 – KDOT

+0

mcrypt sucks鏈接轉到我發佈加密/安全性內容的博客。點擊頁面底部的「cryptography」標籤獲取大量內容。我還策劃了Github上的appsec閱讀列表。 –

+0

這很有趣,因爲作爲一名開發人員,除非您正在開發衆所周知的源代碼,否則您從不會談論黑客企圖或看到它們;這些「後門」,或者他們稱之爲的任何東西,都是發展中的一個重要因素,而這些因素並沒有得到教育。我一定會傳播你的信息,不僅有趣,而且你可以在你的網站上了解更多信息,而不是在其他100個網站上閱讀。做得好。 – KDOT

相關問題