db2 針對不同型態,提供了不同的加解密函式,根據版本不同,有些函式還未提供,或是只供內部使用,所以只把我試出來可以用的列出來。
資料型態,主要針對varchar
使用下列函式:
- encrypt(StringDataToEncrypt, PasswordOrPhrase, PasswordHint)
- decrypt_dhar(EncryptedData, PasswordOrPhrase)
- Set Encryption Password
對資料加密的演算法是一個 RC2 分組密碼(block cipher),它帶有一個 128 位的密鑰。這個128位的密鑰是通過消息摘要從密碼得來的。加密密碼與DB2認證無關,僅用於資料的加解密。
另外提供一個可選的參數 PasswordHint,這是一個字串,可以幫助用戶記憶用於對 PasswordOrPhrase 提示。
db2
db2 => connect to your_database
db2 => create table xxx(cardno varchar(33) for bit data)
db2 => set encryption password = 'test1234';
db2 => insert into xxx values(encrypt('1234567890123456'))
db2 => select decrypt_char(cardno) from xxx
db2 => quit
NOTE:
密碼至少要 6byte
新增表格時欄位長度需設定為原本欄位的最大長度+9bytes,否則在新增欄位值,會出現欄位值太長的錯誤。例如cardno原本最大長度為24,在新增table時,將其設定成33 byte
沒有留言:
張貼留言