sha1加密工具
SHA-1與MD5都是摘要演算法,且為不可逆演算法;
應用角度來講,適用性比安全性重要,兩個演算法長度有所不同,SHA-1 160位,MD5 128位。
如果從安全形度,在計算出摘要後,對摘要進行簽名,可以增加抗抵賴、防篡改的能力,詳情請查看數字簽名的資料。
2. 十大常見密碼加密方式
一、密鑰散列
採用MD5或者SHA1等散列演算法,對明文進行加密。嚴格來說,MD5不算一種加密演算法,而是一種摘要演算法。無論多長的輸入,MD5都會輸出一個128位(16位元組)的散列值。而SHA1也是流行的消息摘要演算法,它可以生成一個被稱為消息摘要的160位(20位元組)散列值。MD5相對SHA1來說,安全性較低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。
二、對稱加密
採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密。對稱加密演算法中常用的演算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
三、非對稱加密
非對稱加密演算法是一種密鑰的保密方法,它需要兩個密鑰來進行加密和解密,這兩個密鑰是公開密鑰和私有密鑰。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。非對稱加密演算法有:RSA、Elgamal、背包演算法、Rabin、D-H、ECC(橢圓曲線加密演算法)。
四、數字簽名
數字簽名(又稱公鑰數字簽名)是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。它是一種類似寫在紙上的普通的物理簽名,但是在使用了公鑰加密領域的技術來實現的,用於鑒別數字信息的方法。
五、直接明文保存
早期很多這樣的做法,比如用戶設置的密碼是「123」,直接就將「123」保存到資料庫中,這種是最簡單的保存方式,也是最不安全的方式。但實際上不少互聯網公司,都可能採取的是這種方式。
六、使用MD5、SHA1等單向HASH演算法保護密碼
使用這些演算法後,無法通過計算還原出原始密碼,而且實現比較簡單,因此很多互聯網公司都採用這種方式保存用戶密碼,曾經這種方式也是比較安全的方式,但隨著彩虹表技術的興起,可以建立彩虹表進行查表破解,目前這種方式已經很不安全了。
七、特殊的單向HASH演算法
由於單向HASH演算法在保護密碼方面不再安全,於是有些公司在單向HASH演算法基礎上進行了加鹽、多次HASH等擴展,這些方式可以在一定程度上增加破解難度,對於加了「固定鹽」的HASH演算法,需要保護「鹽」不能泄露,這就會遇到「保護對稱密鑰」一樣的問題,一旦「鹽」泄露,根據「鹽」重新建立彩虹表可以進行破解,對於多次HASH,也只是增加了破解的時間,並沒有本質上的提升。
八、PBKDF2
該演算法原理大致相當於在HASH演算法基礎上增加隨機鹽,並進行多次HASH運算,隨機鹽使得彩虹表的建表難度大幅增加,而多次HASH也使得建表和破解的難度都大幅增加。
九、BCrypt
BCrypt 在1999年就產生了,並且在對抗 GPU/ASIC 方面要優於 PBKDF2,但是我還是不建議你在新系統中使用它,因為它在離線破解的威脅模型分析中表現並不突出。
十、SCrypt
SCrypt 在如今是一個更好的選擇:比 BCrypt設計得更好(尤其是關於內存方面)並且已經在該領域工作了 10 年。另一方面,它也被用於許多加密貨幣,並且我們有一些硬體(包括 FPGA 和 ASIC)能實現它。 盡管它們專門用於采礦,也可以將其重新用於破解。
3. md5和sha1是怎麼得來的
md5和sha1 是兩種加密演算法的名稱,
其功能是對要加密的對象起到加密的作用.比如.假設某人的某個網站密碼是12345679 通過MD5加密()後存放在網站上,這樣網站後台管理員,或者黑客就算拿到加密後的密文,也不一定知道真正的密碼是12345679,這樣就起到保護的作用,又或者.我給網站上傳了一個文件供大家下載,上傳之前我用MD5加密工具算出我這個文件的MD5值然後公布出來,當下載的人下載了我上傳的文件,再用MD5工具算一遍,然後和我公布的比較,如果一樣證明我的文件沒有被黑客或居心不良的人改過.起到一定的保護作用.sha1是不同於MD5的另一種演算法,但用處大都一樣,就像英文和中文,都是用來溝通的.只不過表達方式不一樣而已.
總之這兩個東西,都是通過公開的特定的演算法得來的. 它們都有一個特性,就是理論不可逆.就是你能通過演算法知道1234679得到上面那一串字元,但不能通過某串字元算出原來的沒加密前的東西
4. sha1加密處理中文時在js和php中不一樣怎麼辦!如何處理!!!
前端對中文進行encodeURI,這樣中文就會變成字元,英文和數字,再對其進行sha1加密,就可以和php的一致了,之後在後端用urldecode還原為中文就行了。前端和後端的URL編碼函數是不同的需要注意。
5. sha1是不是可以生成密鑰 然後用aes演算法加密 求沒有那個大蝦能幫我解決一下
是可以這么做的,而且這個也是一個比較通用的做法。sha1的結果是16byte(128位)的,aes的時候你採用128的加密cbc模式就好了。SHA1的話,你只需要一個輸入就可以了,不需要其他的向量。
6. 請問SHA1加密演算法也是不可逆的嗎
是的,同MD5一樣都是不可逆的加密演算法。
安全性的碰撞對比:
MD5為2^64,sha1為2^60。這么你可能不理解,通俗的講就是每2^64個樣本中能找到兩個MD5相同的值,sha1類似。但這只是理論,從實際樣本取樣的情況,要比這個值小很多。
現在的MD5和sha1加密都用暴力破解,就算拿不到你的原始串,也是很容易被取出來的。