java簽名和驗簽


加密解密

加密:發送方利用接收方的公鑰對要發送的明文進行加密。

解密:接收方利用自己的私鑰進行解密。

公鑰和私鑰配對的,用公鑰加密的文件,只有對應的私鑰才能解密當然也可以反過來,用私鑰加密,用對應的公鑰進行加密。

簽名驗簽

簽名:發送方用一個哈希函數從報文文本中生成報文摘要,然后用自己的私人密鑰對這個摘要進行加密,得到的就是這個報文對應的數字簽名。通常來說,發送方會把數字簽名和報文原文一並發送給接受者。

驗簽:接收方得到原始報文和數字簽名后,用同一個哈希函數從報文中生成摘要A,另外,用發送方提供的公鑰對數字簽名進行解密,得到摘要B,對比A和B是否相同,就可以得知報文有沒有被篡改過。

作用:

其實,數字簽名有兩種功效:一是能確定消息確實是由發送方簽名並發送的,因為別人假冒不了發送方的簽名。二是數字簽名能確定消息的完整性。

發送方用自己的私鑰完成數字簽名,然后再用接收方的公鑰對報文進行加密,將數字簽名和報文傳送給接收方。接收方在拿到密文和數字簽名后,先用自己的私鑰對密文進行解密,得到明文,然后再用發送方提供的公鑰進行驗簽,確保發送方身份的准確性,以及報文並沒有被篡改過。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM