今天,偶然想看過一段md5後面的內容,baidu,和google一通後,如願以償。
由此引發了對md5加密的擔憂。
其實,從幾分鐘搜尋得知的破解手段來看,無非就是暴力,字典,和海量資料庫這幾種手段,想了想,想要更可靠的保護好你的md5還是很簡單的,希望開發人員多動腦,而不僅僅是baidu過來,能用就行了。
下面提供oracle下最簡單的md5加密程式,和安全md5加密程式。
經典md5加密函式:
create or replace function t_get_md5( p_str in varchar2)
return varchar2 is
begin
return lower(utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => upper(p_str))));
end;
原創安全md5加密函式
create or replace function t_secure_md5( p_str in varchar2)
return varchar2 is
begin
return lower(utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => upper(substr(lower(utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => upper(p_str)))),2,5)||'@ray'||substr(lower(utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => upper(p_str)))),-7,3)))));
end;
select t_secure_md5('1233212') from dual;
1d5c582eaca5845c9233fe0bc4033123
select t_get_md5('1233212') from dual;
2e2de7dd00440bc773977e27407f11ca
通過這個號稱共有md5記錄457,354,352,282條的**查一下,
http://www.cmd5.com/default.aspx 後者
查詢結果:
1233212前者
查詢結果:
not found
前者即使通過任何手段獲取,依然不是原始密碼,而是經過轉換過的「e2de7@ray07f」
從原理上講,安全md5加密函式是不可逆的。
如果並不在意標準的md5輸出,甚者可以
create or replace function t_secure_md5( p_str in varchar2)
return varchar2 is
begin
return substr(lower(utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => upper(substr(lower(utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => upper(p_str)))),2,5)||'@ray'||substr(lower(utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => upper(p_str)))),-7,3))))),7,12);
end;
既節省了儲存空間,又消滅了md5的線索。
robotframework實現md5加密字元
介面測試中經常會遇到需要對字元加密後進行傳輸,或是需要採用簽名加密方式 robot中可以使用的擴充套件庫的方式來完成資料的加密。1.hashlib庫的介紹 python的hashlib提供了常見的摘要演算法,如md5,sha1等等。此次用這個庫實現md5加密功能 在python3的標準庫中,已經移除...
php 變數的md5加密,PHP中的MD5加密
php中的md5加密 2005 02 17 enet ciweek 綜述 密碼學是研究編制密碼 我們簡稱為加密 encode 和破譯密碼 我們稱之為解密 decode 的技術科學。研究密碼變化的客觀規律,應用於編制密碼以保守通訊秘密的,稱為編碼學 應用於破譯密碼以獲取通訊情報的,稱為破譯學,總稱密碼...
防火防盜防詐騙!老實程式設計師如何保護好自己?
作為開發者,對於同行的離去,我們非常痛心。創業圈反省 說到底,我們it從業者,尤其是軟體開發人員,非常不自尊自愛,整天把碼農屌絲之類的侮辱性詞語作為自己的代稱,然而我國軟體開發人員幾乎都是在第三世界拿第一世界中產的收入,坐在top0.001 之上自稱社會底層。此次事件表面上是夫妻之間的問題,實際上是...