:::| 目前位置圖示目前位置:首頁圖示回首頁 | 主功能頁圖示相關問答
MYSQL加解密功能

[日期]:2023/04/19  [瀏覽人數]:334

MYSQL有內建的加解密功能

加密1.AES_ENCRYPT('字串','密碼') ,2.ENCODE('字串','密碼')

解密1.AES_DECRYPT('字串','密碼') ,2.DECODE('字串','密碼'),

加密1和解密1是同組使用加密的安全度最高

加密2和解密2是同組使用加密的安全度次高

可以使用SELECT AES_ENCRYPT('123456','password') 直接取得加密結果,對於大部分的文字或數字是沒問題的

但有些字因編碼的問題並無法正確顯示,必須由資料表直接解出就不會出現錯誤

如:資料表有一個ab_amt的欄位執行程式已經先讀出編碼過的文字放置於字串中,等要顯示時再解密

$a=$row["ab_amt"];

$sql="SELECT DECODE('".$a."','password');

$rd=mysql_query($sql);

list($enamt)=mysql_fetch_row($rd);

這樣使用時有少部分的字串會有問題,如14383 ...等

所以應避免如此使用,而是直接由資料表取用直接顯示

$sql="SELECT DECODE(ab_amt,'password') FROM $table WHERE idx='$idx'";

$rd=mysql_query($sql);

list($enamt)=mysql_fetch_row($rd);