|
本文主要談一下密碼學中的加密和數字簽名,以及其在Java中如何進行使用。對密碼學有興趣的伙伴,推薦看Bruce Schneier的著作:Applied Crypotography。在jdk1.5的發行版本中安全性方面有了很大的改進,也提供了對RSA算法的直接支持,現在我們從實例入手解決問題(本文僅是作為簡單介紹):
一、密碼學上常用的概念
1)消息摘要:
這是一種與消息認證碼結合使用以確保消息完整性的技術。主要使用單向散列函數算法,可用于檢驗消息的完整性,和通過散列密碼直接以文本形式保存等,目前廣泛使用的算法有MD4、MD5、SHA-1,jdk1.5對上面都提供了支持,在Java中進行消息摘要很簡單, Java.security.MessageDigest提供了一個簡易的操作方法:
/**
*MessageDigestExample.Java
*Copyright 2005-2-16
*/
import Java.security.MessageDigest;
/**
*單一的消息摘要算法,不使用密碼.可以用來對明文消息(如:密碼)隱藏保存
*/
public class MessageDigestExample{
public static void main(String[] args) throws Exception{
if(args.length!=1){
System.err.println("Usage:Java MessageDigestExample text");
System.exit(1);
}
byte[] plainText=args[0].getBytes("UTF8");
//使用getInstance("算法")來獲得消息摘要,這里使用SHA-1的160位算法
MessageDigest messageDigest=MessageDigest.getInstance("SHA-1");
System.out.println(" "+messageDigest.getProvider().getInfo());
//開始使用算法
messageDigest.update(plainText);
System.out.println(" Digest:");
//輸出算法運算結果
System.out.println(new String(messageDigest.digest(),"UTF8"));
}
}
還可以通過消息認證碼來進行加密實現,Javax.crypto.Mac提供了一個解決方案,有興趣者可以參考相關API文檔,本文只是簡單介紹什么是摘要算法。
2)私鑰加密:
消息摘要只能檢查消息的完整性,但是單向的,對明文消息并不能加密,要加密明文的消息的話,就要使用其他的算法,要確保機密性,我們需要使用私鑰密碼術來交換私有消息。
這種最好理解,使用對稱算法。比如:A用一個密鑰對一個文件加密,而B讀取這個文件的話,則需要和A一樣的密鑰,雙方共享一個私鑰(而在web環境下,私鑰在傳遞時容易被偵聽):
使用私鑰加密的話,首先需要一個密鑰,可用Javax.crypto.KeyGenerator產生一個密鑰(Java.security.Key),然后傳遞給一個加密工具(Javax.crypto.Cipher),該工具再使用相應的算法來進行加密,主要對稱算法有:DES(實際密鑰只用到56位),AES(支持三種密鑰長度:128、192、256位),通常首先128位,其他的還有DESede等,jdk1.5種也提供了對對稱算法的支持,以下例子使用AES算法來加密:
/**
*PrivateExmaple.Java
*Copyright 2005-2-16
*/
import Javax.crypto.Cipher;
import Javax.crypto.KeyGenerator;
import Java.security.Key;
/**
*私
主站蜘蛛池模板:
中文字幕一区二区三区不卡
|
亚洲欧美视频网站
|
国产大片91精品免费看3
|
免费看的黄网站
|
国产亚洲精品福利片
|
国产精品毛片一区二区三区
|
欧美激情中文字幕一区二区
|
欧美大色网
|
久久福利网
|
天天爱综合
|
久久一区视频
|
亚洲伊人久久大香线蕉结合
|
久久综合偷偷噜噜噜色
|
欧美视频在线免费
|
六月色|
国产精品一区不卡
|
成人永久福利免费观看
|
国产精品久久久久影院色老大
|
91精品自在拍精选久久
|
亚洲人成a在线网站
|
五月婷婷深爱
|
福利视频亚洲
|
床戏免费网站
|
中文不卡视频
|
国产成人亚洲精品2020
|
看黄网
|
国产麻豆免费
|
在线观看成人小视频
|
福利在线视频观看
|
国产在线一区视频
|
91综合在线视频
|
精品无人区一区二区三区
|
一本色道久久88综合亚洲精品高清
|
婷婷夜夜躁天天躁人人躁
|
成人在线亚洲
|
亚洲国产第一区二区三区
|
亚洲一区成人
|
久久久久久一级毛片免费野外
|
在线观看午夜视频
|
色综合中文字幕色综合激情
|
中文字幕热久久久久久久
|