如何保護好經過MD5加密過的密碼

2021-05-08 21:47:52 字數 1790 閱讀 3509

今天,偶然想看過一段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 之上自稱社會底層。此次事件表面上是夫妻之間的問題,實際上是...