- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- iocg矿床..doc
- ios参考模型..docx
- IOM+浸润型离心泵TC34+1X2X6-2VSL..doc
- iOS和Android的app界面设计规范..docx
- Inode客户端常见故障及解决办法..doc
- iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值..docx
- iOS面试题3..docx
- iOS绘图教程..docx
- iOS保持界面流畅的技巧..docx
- ios毕业论文.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 2023年华东师范大学数据科学与大数据技术专业《操作系统》科目期末试卷A(有答案).docx VIP
- 2023年华东师范大学数据科学与大数据技术专业《操作系统》科目期末试卷B(有答案).docx VIP
- 2023年华东师范大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案).docx VIP
- 人防通风系统安装施工方案管理文档.doc
- 标准图集 - 12J003 室外工程.pdf VIP
- 北师大版六年级数学上册3-3《天安门广场》教学设计.doc
- 东北财经大学通用PPT模板.pptx
- 屋盖钢结构设计讲课教案.pdf VIP
- 社会情感教育与教学质量改进.pptx
- 2024年华医网继续教育护理学基于循证理念的临床护理管理实践新进展题库及答案.docx VIP
文档评论(0)