java加密解密算法..doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java加密解密算法.

加密算法分类: 只能加密:SHA MD5 既能加密也能解密: 对称:DES RC4 非对称:RSA 非对称加密技术开销比较大,不适合大文本的加密。 SHA加密算法 SHA加密算法用途 数字签名、数字时间戳、数字证书 SHA加密原理以及流程 在SHA1算法中,我们必须把原始 消息(字符串,文件等)转换成位字符串位。SHA1算法只接受位作为输入。假设我们对字符串”abc”产生消息摘要(也就是加密)。首先,我们将它转换成位字符串如下:‘a’=97 ‘b’=98 ‘c’=99 这个位字符串的长度为24。下面我们需要5个步骤来计算SHA。 补位 消息必须进行补位,以使其长度在对512取模以后的余数是448,也就是说,(补位后的消息长度)len%512=448。即使长度已经满足对512取模后余数是448,补位也必须要进行。补位是这样进行的:先补一个1,然后再补0,直到长度满足对512取模后余数是448.总而言之,补位是至少补一位,最多补512位。还是以前面的“abc”为例显示补位过程。 原始信息为 补位第一步 1(首先补一个1) 补位第二步 10....0(补423个0) 补长度 所谓的补长度是将原始数据的长度补到已经进行了补位操作的消息后面。通常一个64位的数据来表示原始消息的长度。在进行了补长度的操作以后,整个消息就变成下面这样了。如果原始的消息长度超过了512,我们需要将它补成512的倍数。然后我们把整个消息分成一个一个512位的数据块,分别处理每一个数据块,从而得到消息摘要。 Java代码实现SHA算法 /* SHA(Secure Hash Algorithm,安全散列算法),数字签名等密码学应用中重要的工具, 被广泛地应用于电子商务等信息安全领域。虽然,SHA与MD5通过碰撞法都被破解了, 但是SHA仍然是公认的安全加密算法,较之MD5更为安全*/ public class SHAEncode { public static final String KEY_SHA = SHA1; public static String shaDigest(byte[] source) throws NoSuchAlgorithmException { String encrpt = null; MessageDigest md = MessageDigest.getInstance(KEY_SHA); md.update(source); //得到数据摘要 byte[] digest = md.digest(); //把二进制数组转换成十六进制字符串 encrpt = Byte2HexStrUtil.byte2HexStr(digest); return encrpt; } } MD5加密算法 MD5算法java实现 /** * 获取加密后的字符串 * @param input * @return */ public static String md5Digest(String data) { try { // 拿到一个MD5转换器(如果想要SHA1参数换成”SHA1”) MessageDigest messageDigest =MessageDigest.getInstance(MD5); // 输入的字符串转换成字节数组 byte[] inputByteArray = data.getBytes(); // inputByteArray是输入字符串转换得到的字节数组 messageDigest.update(inputByteArray); // 转换并返回结果,也是字节数组,包含16个元素 byte[] resultByteArray = messageDigest.digest(); // 字符数组转换成字符串返回 return byteArrayToHex(resultByteAr

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档