国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java加密枝術深入理解

2019-11-26 16:17:06
字體:
來源:轉載
供稿:網友
★ 編程思路
java.security包中的MessageDigest類提供了計算消息摘要的方法, 首先生成對象,執行其update( )方法可以將原始數據傳遞給該對象,然后執行其digest( )方法即可得到消息摘要。具體步驟如下:
(1)生成MessageDigest對象
MessageDigest m=MessageDigest.getInstance("MD5");
分析:和2.2.1小節的KeyGenerator類一樣。MessageDigest類也是一個工廠類,其構造器是受保護的,不允許
直接使用new MessageDigist( )來創建對象,而必須通過其靜態方法getInstance( )生成MessageDigest對象。
其中傳入的參數指定計算消息摘要所使用的算法,常用的有"MD5","SHA"等。若對MD5算法的細節感興趣可參考
http://www.gztarena.com/rfc1321.txt。
(2)傳入需要計算的字符串
m.update(x.getBytes("UTF8" ));
分析:x為需要計算的字符串,update傳入的參數是字節類型或字節類型數組,對于字符串,需要先使用
getBytes( )方法生成字符串數組。
(3)計算消息摘要
byte s[ ]=m.digest( );
分析:執行MessageDigest對象的digest( 廣州達內java)方法完成計算,計算的結果通過字節類型的數組返回。
(4)處理計算結果
必要的話可以使用如下代碼將計算結果s轉換為字符串。
復制代碼 代碼如下:

String result="";
for (int i=0; i
result+=Integer.toHexString((0x000000ff & s) | 0xffffff00)。substring(6);
}

★代碼與分析
完整程序如下:
復制代碼 代碼如下:

import java.security.*;
public class DigestPass{
public static void main(String args[ ]) throws Exception{
String x=args[0];
MessageDigest m=MessageDigest.getInstance("MD5");
m.update(x.getBytes("UTF8"));
byte s[ ]=m.digest( );
String result="";
for (int i=0; i
result+=Integer.toHexString((0x000000ff & s) | 0xffffff00)。substring(6);
}
System.out.println(result);
}
}

★運行程序
輸入java DigestCalc abc來運行程序,其中命令行參數abc是原始數據,屏幕輸出計算后的消息摘要:
900150983cd24fb0d6963f7d28e17f72。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德令哈市| 广汉市| 安泽县| 隆化县| 赤壁市| 玉龙| 文安县| 门头沟区| 泰州市| 台中县| 东平县| 土默特右旗| 天峨县| 宜兴市| 南宫市| 汝阳县| 平遥县| 巴林右旗| 汶川县| 虹口区| 延长县| 永丰县| 寿光市| 雅安市| 阜康市| 延长县| 桐乡市| 治县。| 绥江县| 洱源县| 闵行区| 新营市| 新绛县| 赤壁市| 醴陵市| 仲巴县| 东丰县| 崇义县| 手游| 连山| 兴国县|