1.md5加密
md5(單向雜湊演算法)的全稱是message-digest algorithm 5(資訊-摘要演算法),md5演算法的使用不需要支付任何版權費用。
md5的功能:
①.輸入任意長度的資訊,經過處理,輸出為128位的資訊(數字指紋);
②.不同的輸入得到的不同的結果(唯一性);
③.根據128位的輸出結果不可能反推出輸入的資訊(不可逆),也就是只能加密,不能解密;
md5的用途:
我們強大的支付寶使用md5加密,正式因為md5強大的用途。
2.rsa加密
①.rsa是第乙個比較完善的公開金鑰演算法,它既能用於加密,也能用於數字簽名。
②.rsa加密是可逆的,乙個字串可以經rsa加密後,經加密後的字串傳到對端如伺服器上,再進行解密即可。前提是伺服器知道解密的私鑰,當然這個私鑰最好不要再網路傳輸。
③.rsa以它的三個發明者ron rivest, adi shamir, leonard adleman的名字首字母命名,這個演算法經受住了多年深入的密碼分析,雖然密碼分析者既不能證明也不能否定rsa的安全性,但這恰恰說明該演算法有一定的可信性,目前它已經成為最流行的公開金鑰演算法。
④.rsa的安全基於大數分解的難度。其公鑰和私鑰是一對大素數(100到200位十進位制數或更大)的函式。從乙個公鑰和密文恢復出明文的難度,等價於分解兩個大素數之積(這是公認的數學難題)。
rsa的公鑰、私鑰的組成,以及加密、解密的公式可見於下表:
rsa的安全性:
在rsa密碼應用中,公鑰ku是被公開的,即e和n的數值可以被第三方竊聽者得到。破解rsa密碼的問題就是從已知的e和n的數值(n等於pq),想法求出d的數值,這樣就可以得到私鑰來破解密文。從上文中的公式:d ≡e-1 (mod((p-1)(q-1)))或de≡1 (mod((p-1)(q-1))) 我們可以看出。密碼破解的實質問題是:從pq的數值,去求出(p-1)和(q-1)。換句話說,只要求出p和q的值,我們就能求出d的值而得到私鑰。
當p和q是乙個大素數的時候,從它們的積pq去分解因子p和q,這是乙個公認的數學難題。比如當pq大到1024位時,迄今為止還沒有人能夠利用任何計算工具去完成分解因子的任務。因此,rsa從提出到現在已近二十年,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。
然而,雖然rsa的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯rsa的難度與大數分解難度等價。即rsa的重大缺陷是無法從理論上把握它的保密性能如何。
此外,rsa的缺點還有:a)產生金鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。b)分組長度太大,為保證安全性,n 至少也要 600 bits 以上,使運算代價很高,尤其是速度較慢,較對稱密碼演算法慢幾個數量級;且隨著大數分解技術的發展,這個長度還在增加,不利於資料格式的標準化。因此,使用rsa只能加密少量資料,大量的資料加密還要靠對稱密碼演算法。
我相信這麼強大的加密方式想要破解,幾乎不可能吧。這也是rsa用在支付寶加密中的原因。
MD5加密 SHA256加密 RSA加密
rsa加密 md5加密 1 md5加密較為可靠,需要引入commons codec 1.9.jar 2 md5加密不可逆,也就是加密後不能再根據加密的秘鑰去解密,網上md5解密實際上是暴力破解。如果需要可逆的話,請選擇des aes 異或 凱撒 rsa等。3 md5加密可以實現任何物件加密,這就決定...
加密方法 MD5加密
一.md5加密演算法 1.1 md5演算法的定義 md5是雜湊雜湊演算法,對於md5而言,有兩個特性是很重要的,第一 明文資料經過雜湊以後的值是定長的 第二 是任意一段明文資料,經過雜湊以後,其結果必須永遠是不變的。前者的意思是可能存在有兩段明文雜湊以後得到相同的結果。md5是雜湊雜湊演算法,對於m...
iOS 關於MD5加密,AES加密,RSA加簽驗籤
rsa加簽 加密 公鑰放在客戶端,並使用公鑰對資料進行加密,服務端拿到資料後用私鑰進行解密 加簽 私鑰放在客戶端,並使用私鑰對資料進行加簽,服務端拿到資料後用公鑰進行驗籤。rsa加簽 plainstr為加密字段 privkey為私鑰 使用者儲存 nsstring rsasha1signstr nss...