网站首页 > 技术文章 正文
这是我多年前的手记,分享到此。
Java加密体系
大家都知道,JAVA是安全的,比如自动内存管理;自动数组溢出检查;字节代码的验证机制;独特的安全类加载。。。。。JAVA都是需要编译成.class格式后再执行,其他人看不到项部的源代码,在代码的安全性就很高。JAVA平台已经实现好了加密算法只要调用类就可以了,在JAVA加密体系中JCA和JCE是JAVA中的两个重要的框架:
JCA——Java Cryptography Architecture
数字签名
信息摘要
JCE——Java Cryptography Extension
MD5(消息摘要算法)
SHA(安全散列算法)
DES(数据加密算法)
理论知识我就再啰嗦了,有兴趣多了解的可以去查询相关方面的知识进行学习;接下来我来执行使用JAVA进行MD5加密,步骤简单
初始化MessageDigest信息摘要对象
传入需要计算的字条串更新摘要对象
计算信息摘要
将byte[]转换为长度为32位的16进制字符串
源代码如下:
package com.qzh.test; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Scanner; public class MD5Test { public void TestMD5(String input) throws NoSuchAlgorithmException, UnsupportedEncodingException{ //1.初始化MessageDigest信息摘要对象 MessageDigest md = MessageDigest.getInstance("md5"); //2.传入需要计算的字条串更新摘要对象 md.update(input.getBytes("UTF-8")); //3.计算信息摘要 byte[] hashCode = md.digest(); //4.将byte[]转换为长度为32位的16进制字符串 StringBuffer sb = new StringBuffer(); for(byte b:hashCode){ sb.append(Character.forDigit((b>>4) & 0xf, 16)); sb.append(Character.forDigit(b & 0xf, 16)); } System.out.println("加密后:" + sb.toString()); } public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException { Scanner scanner = new Scanner(System.in); System.out.println("请输入你要加密的数据......"); String input = scanner.nextLine(); MD5Test md5 = new MD5Test(); md5.TestMD5(input); } }
执行后如下图:
可以看出,“邱子豪”三个字,经过JAVA中MD5算法加密后是:3670cfbab80f4888d59a04d2a3daf3f9 ;
猜你喜欢
- 2024-09-27 MD5 到底算不算一种加密算法? md5是数据加密算法吗
- 2024-09-27 在网站开发时你还是只用md5加密密码吗?
- 2024-09-27 通过一次安全处理暴露的问题 通过一次安全处理暴露的问题的英文
- 2024-09-27 加解密与HTTPS(3) 加解密服务器通讯异常
- 2024-09-27 Qt怎么使用MD5加密 md5在线加密解密工具
- 2024-09-27 Swift版StringExtention方法MD5加密
- 2024-09-27 浅谈MD5加密算法,头条官方工程师就是依此内容查重(小白勿进)
- 2024-09-27 用MD5加密为何不再安全了 md5加密后的值是唯一的吗
- 2024-09-27 openssl md5算法——Linux下(字符串加密、文件加密)
- 2024-09-27 Python实现各种加密,接口加解密不说难
你 发表评论:
欢迎- 最近发表
-
- 前端流行框架Vue3教程:13. 组件传递数据_Props
- 前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?
- JAVA和JavaScript到底是什么关系?是亲戚吗?
- Java和js有什么区别?(java和javascript的区别和联系)
- 东方标准|Web和Java的区别,如何选择这两个专业
- 前端面试题-JS 中如何实现大对象深度对比
- 360前端一面~面试题解析(360前端笔试)
- 加班秃头别慌!1 道 Vue 面试题,快速解锁大厂 offer 通关密码
- 焦虑深夜刷题!5 道高频 React 面试题,吃透 offer 稳了
- 2025Web前端面试题大全(整理版)面试题附答案详解,最全面详细
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)