Hash算法进行签名验签
Hash算法進行簽名驗簽
Hash算法
哈希算法(Hash 算法,Hash 算式,散列算法,消息摘要算法) :將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。
性質(zhì)
典型的哈希算法: 包括 MD2、MD4、MD5 和 SHA-1。哈希算法也稱為“哈希函數(shù)”。
SHA
其對長度不超過264二進制位的消息產(chǎn)生160位的消息摘要輸出。
SHA: 是一種數(shù)據(jù)加密算法,該算法經(jīng)過加密專家多年來的發(fā)展和改進已日益完善,現(xiàn)在已成為公認的最安全的散列算法之一。
過程: 接收一段明文,然后以一種不可逆的方式將它轉(zhuǎn)換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預(yù)映射或信息),并把它們轉(zhuǎn)化為長度較短、位數(shù)固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。
散列函數(shù)值 可以說是對明文的一種“指紋”或是“摘要”所以對散列值的數(shù)字簽名就可以視為對此明文的數(shù)字簽名。
信息摘要
它是一個唯一對應(yīng)一個消息或文本的固定長度的值,它由一個單向Hash加密函數(shù)對消息進行作用而產(chǎn)生。如果消息在途中改變了,則接收者通過對收到消息的新產(chǎn)生的摘要與原摘要比較,就可知道消息是否被改變了。因此消息摘要保證了消息的完整性。
公鑰和私鑰
公鑰和私鑰就是俗稱的不對稱加密方式,是從以前的對稱加密(使用用戶名與密碼)方式的提高。
數(shù)字簽名
數(shù)字簽名是通過一個單向函數(shù)對要傳送的報文進行處理得到的用以認證報文來源并核實報文是否發(fā)生變化的一個字母數(shù)字串。
將傳遞的信息進行Hash獲取信息摘要,將摘要通過 服務(wù)器私鑰 加密就生成 數(shù)字簽名
數(shù)字證書
用來確定公鑰是否是真正的公鑰,而不是中間人的公鑰。
證書中心(CA) 給服務(wù)器公鑰做認證,證書中心用自己的私鑰 對服務(wù)器公鑰和一些相關(guān)信息加密,來生成 數(shù)字證書 。
以后服務(wù)器和客戶端傳遞消息,在簽名的同時,再附上證書認證,客戶端可以通過 CA的公鑰 來解開數(shù)字證書獲取 服務(wù)器的公鑰 ,來解開 數(shù)字簽名 獲取信息摘要,在通過對信息進行Hash得到結(jié)果,與解密得到的信息摘要進行對比,兩者一致說明信息未被修改。
總結(jié)
以上是生活随笔為你收集整理的Hash算法进行签名验签的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker centos + pb
- 下一篇: 数组坍塌