oracle敏感字段加密 Oracle數(shù)據(jù)庫(kù)中MD5解密方法是什么?
Oracle數(shù)據(jù)庫(kù)中MD5解密方法是什么?MD5解密方法 我在存儲(chǔ)數(shù)據(jù)庫(kù)的時(shí)候,通過(guò)md5加密方法將字段進(jìn)行加密,當(dāng)我在讀取該字段時(shí)如何正確的讀取原來(lái)的值啊 ------解決方案---------
Oracle數(shù)據(jù)庫(kù)中MD5解密方法是什么?
MD5解密方法
我在存儲(chǔ)數(shù)據(jù)庫(kù)的時(shí)候,通過(guò)md5加密方法將字段進(jìn)行加密,當(dāng)我在讀取該字段時(shí)如何正確的讀取原來(lái)的值啊
------解決方案--------------------
沒辦法,MD5是不可逆的。
你需要使用可逆加密算法。
------解決方案--------------------
插入表中的時(shí)候md5加密
比如:
$sql= "insert into register(names,pswd,repswd) values( "$_POST[names] ",md5( "$_POST[pswd] "),md5( "$_POST[repswd] ")) "
$qid=mysql_query($sql)
讀取的時(shí)候
$pswd=empty($_POST[ "pswd "])? " ":md5($_POST[ "pswd "])
------解決方案--------------------
如果業(yè)務(wù)要求可還原,那么不要采用MD5,請(qǐng)使用可逆加密算法,如DES加密。
MD5為不可逆散列算法,可用于存儲(chǔ)用戶密碼,存儲(chǔ)后不需要永遠(yuǎn)不需要知道明文。密碼比較時(shí)只需將用戶輸入的密碼再次轉(zhuǎn)成MD5碼與存儲(chǔ)的相比較即可得知用戶輸入密碼是否正確。
linux/unix操作系統(tǒng)一般采用MD5進(jìn)行用戶密碼加密。
------解決方案--------------------
MD5目前所謂的破解只是采用碰撞法找到了對(duì)等因子。
比如:string1的MD5碼為MD1,而現(xiàn)在我們做到的只是又找到了一個(gè)string2,它的MD5碼也是MD1。
結(jié)果就是:用戶登陸某采用MD5加密的系統(tǒng)時(shí),本來(lái)密碼是12345,現(xiàn)在可能用abcde也能登陸。
想想可能還原嗎?如果可以還原,那天大的信息也能用32位長(zhǎng)的字符串表示了,這不成了超級(jí)壓縮算法了嗎,整個(gè)宇宙的信息都可以用32位長(zhǎng)表示了。不可逆的!
oracle字符串添加字段?
oracle在某個(gè)表中增加字段的命令是alter table,oracle在某個(gè)表中增加字段的操作步驟如下:
1、首先雙擊oracle可執(zhí)行文件連接oracle數(shù)據(jù)庫(kù)服務(wù)。
2、連接成功之后,用鼠標(biāo)右鍵點(diǎn)擊左側(cè)表選項(xiàng)。
3、在右鍵菜單里選擇新建表選項(xiàng)。
4、然后需要輸入表名,勾選主鍵不能為空。
5、建表成功之后,建字段,點(diǎn)擊如下圖所示的按鈕,增加字段。
6、然后點(diǎn)擊加號(hào),出現(xiàn)新的一列增加字段。
7、然后就可以輸入相關(guān)的字段的屬性,輸入完畢點(diǎn)擊確定即可完成新增字段。
oracle修改字段長(zhǎng)度會(huì)鎖表嗎?
你好!
試試這個(gè)辦法
1、把列修改為VARCHAR2(30)
2、然后更新ddd=trim(ddd),此時(shí)空格都被去掉了,列長(zhǎng)度都不大于20
3、把列修改為CHAR(20)
僅代表個(gè)人觀點(diǎn),不喜勿噴,謝謝。