[英]php - storing encrypted string in mysql
我需要存儲客戶的駕駛執照#(大部分時間)(或個人ID),因此當他們來挑選他們的產品時,他們可以根據他們的身份識別自己。 這通常是我國各處處理的方式(不幸的是)。 但是,我想將這個#的加密存儲在mysql中。 我現在可以使用AES_ENCRYPT
,但是,我的問題是,如果我硬編碼$key
,那么獲得訪問服務器的攻擊者可以輕松解密所有擁有密鑰的字段。 我怎么處理這個?
我的想法是使用openssl_public_encrypt
並擁有公鑰和私鑰,但不知道如何實現它。 (任何有用的解釋鏈接?)可能是非對稱密鑰RSA?
如果需要,我可以使用幾種物理服務器。
任何幫助將不勝感激。
為什么需要非對稱地加密這些許可證?
我在傳遞過程中實現這一目標的方法並不是存儲完整的細節。
您需要的數字將被散列。 更多 - 其中一些值的集合已經以您選擇的方式加密。
您可以使用有關用戶的一些相關信息。 說出用戶的電子郵件或您生成的ID號。
當用戶驗證說“12345678”時,您已經將1458的哈希值設置為“$£%$ dfovm $£$”,其中包含部分電子郵件。
這樣,如果有人可以獲得訪問權限,他們就無法檢索所有用戶號碼。 此外,如果他們以某種方式將字符串的解密版本拼湊在一起 - 它將是許可證號碼和其他一些信息的噱頭。
一旦攻擊者可以訪問您的服務器,他們就可以運行您的代碼。 因此,您的服務器必須解密為純文本才能使用,您的攻擊者也可以。 如上所述,您最好的選擇是以與密碼相同的方式加密ID,單向,然后加密客戶輸入並進行比較,這樣即使您無法訪問初始ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.