-
消息摘要算法 — MD MD5 单项加密 MD家族(128位摘要信息) MD2(摘要长度128位) 、MD4(摘要长度128位) MD2,MD5是JDK实现的 MD4是Bouncy Castle实现的查看全部
-
消息摘要算法 MD(Message Digest)消息摘要 SHA(Secure Hash Algorithm)安全散列 MAC(Message Authentication Code)消息认证码 它用于验证数据完整性 它是数字签名核心算法查看全部
-
JDK实现HmacMD5算法 //创建密钥生成器,指定算法名称. KeyGenerator keyGenerator=KeyGenerator.getInsatance("HMacMD5"); //初始化密钥长度 keyGenerator.init(128); //生成密钥对象 SecretKey secretkey=keyGenerator.generateKey(); //生成密钥 byte [] key = secretKey.getEncoded(); //还原密钥 SecretKey restoreSecretKey = new SecretKeySpec(key,"HmacMD5"); //创建Mac实例. Mac mac=Mac.getInstance(restoreSecretKey.getAlgorithm()); //通过还原密钥初始化. mac.init(restoreSecretKey); //执行摘要操作 byte[] hmacMD5Bytes = mac.doFinal("imooc".getBytes()); System.out.println(Hex.encodeHexString(hmacMD5Bytes));查看全部
-
JDK实现HmacMD5算法 1.创建KeyGenerator实例,使用getInstance()静态方法,参数是算法名称. KeyGenerator:生成指定算法密钥的密钥生成器. 2.初始化密钥生成器,指定密钥长度. 3.使用KeyGenerator的generatekey()方法初始化一个密钥对象.返回SecretKey实例. 4.使用SecretKey对象的getEncoded()方法获取字节数组形式的密钥. 该方法获得的密钥会随着时间的变动而变动,所以每次获取的密钥值都不一样,但都出自同一个SecretKey实例. SecretKey为密钥对象.使用它的getEncoded()方法返回一个密钥(字节数组形式) 5.还原密钥,将jdk生成的密钥,转换为符合HmacMD5规则的密钥. 创建SecretKeySpec实例,该类实现SecretKey接口.构造方法参数是jdk初始化的密钥与要转换的算法名称. 6.创建一个Mac类,使用Mac的getInstance()静态方法,参数是算法名称.可以使用SecretKey的getAlgorithm()方法,该方法返回密钥对象对应的算法名称. 7.初始化Mac实例,使用init(Key k)方法,参数是密钥对象. 8.使用Mac实例的doFinal(byte[] data)方法执行摘要操作,参数是字节数组形式的待加密数据,返回经过加密的数据,以字节数组形式返回. 9.把经过加密,返回的字节数组转为以十六进制的形式显示. CC:Hex.encodeHexString(byte[] data) BC:Hex.toHexString(byte[] data) 两个方法都是把字节数组(默认十进制,存入计算机自动转为二进制)转为十六进制,并返回字符串形式. 还原密钥意思是将jdk初始化的密钥转换为符合特定算法规则的密钥,只要有密钥的算法,在加密步骤之前都需要进行还原密钥操作,来作为加密与解密操作时的参数.查看全部
-
消息摘要算法查看全部
-
BCMD5实现查看全部
-
第24行是:①根据字节数组构造秘钥(restoreSecretKey),②根据秘钥的算法(restoreSecretKey.getAlgorithm())实例化一个Mac对象,③根据给定的秘钥(restoreSecretKey)初始化Mac对象,④处理给定的 byte 数组并完成 MAC 操作。查看全部
-
常使用的发送消息的格式为:原始消息+key+时间戳查看全部
-
消息摘要算法流程: 当发送方准备发送信息时,首先将消息加密的算法传递公布给消息接收方,然后应用消息算法对要发送的消息进行摘要digest处理,然后把处理的加密消息发送给消息接收方,同时把未加密之前的消息也发送给消息接收方,然后接收方应用之前发送给它的摘要算法对原文进行算法处理,和传过来的加密摘要进行对比是不是一致。查看全部
-
消息摘要算法 — MD MD5 单项加密 MD家族(128位摘要信息) MD2(摘要长度128位) 、MD4(摘要长度128位) MD2,MD5是JDK实现的 MD4是Bouncy Castle实现的查看全部
-
消息摘要算法 MD(Message Digest)消息摘要 SHA(Secure Hash Algorithm)安全散列 MAC(Message Authentication Code)消息认证码 验证数据完整性 数字签名核心算法查看全部
-
其他消息摘要算法 都是由BC提供的实现.JDK并没有提供.查看全部
-
MAC摘要算法的使用场景.查看全部
-
不同MAC算法实现类,它对应的摘要长度都与它对应的基础MD或SHA算法的摘要长度一致查看全部
-
MAC(信息认证码)算法实现 MAC兼容了MD与SHA这两种的特性,并且在这个基础上添加了密钥. 通常又把MAC称为HMAC,即含有密钥的散列函数算法. MD系列算法与SHA系列算法分别是两种不同形式的信息摘要算法,都是没有密钥的散列函数算法. MAC算法则为MD与SHA系列算法的基础上添加了密钥,构成了新的算法. 提供了:HmacMD2、HmacMD4、HmacMD5、HmacSHA1、HmacSHA224、HmacSHA356、HmacSHA384、HmacSHA512算法实现类. 常用于linux系统的客户端.查看全部
举报
0/150
提交
取消