- 浏览: 2270636 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
关键字:MD5加密与解密艺术
import java.security.MessageDigest;
public class MD5 {
/**
* <pre>
* MD5加密。32位 .
* </pre>
*
* @param pstrPassword 未加密的原文密码
* @return the string
* @author 赵士杰 2011-4-29
*/
public static String md5(String pstrPassword) {
MessageDigest md5 = null;
try {
md5 = MessageDigest.getInstance("MD5");
} catch (Exception e) {
e.printStackTrace();
return "";
}
char[] charArray = pstrPassword.toCharArray();
byte[] byteArray = new byte[charArray.length];
for (int i = 0; i < charArray.length; i++)
byteArray[i] = (byte) charArray[i];
byte[] md5Bytes = md5.digest(byteArray);
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < md5Bytes.length; i++) {
int val = ((int) md5Bytes[i]) & 0xff;
if (val < 16)
hexValue.append("0");
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
/**
* <pre>
* 可逆的加密算法(即:对MD5再进行加密).
* </pre>
*
* @param inStr the in str
* @return the string
* @author 赵士杰 2011-4-29
*/
public static String KL(String inStr) {
// String s = new String(inStr);
char[] a = inStr.toCharArray();
for (int i = 0; i < a.length; i++) {
a[i] = (char) (a[i] ^ 't');
}
String s = new String(a);
return s;
}
/**
* <pre>
* 加密后解密(即:将二次加密密码解密为 MD5格式).
* </pre>
*
* @param inStr the in str
* @return the string
* @author 赵士杰 2011-4-29
*/
public static String JM(String inStr) {
char[] a = inStr.toCharArray();
for (int i = 0; i < a.length; i++) {
a[i] = (char) (a[i] ^ 't');
}
String k = new String(a);
return k;
}
// 测试主函数
public static void main(String args[]) {
String s = new String("19840808zsj赵士杰");
System.out.println("原始:" + s);
System.out.println("MD5加密后:" + md5(s));
System.out.println("MD5后再加密:" + KL(md5(s)));
System.out.println("解密为MD5后的:" + JM(KL(md5(s))));
System.out.println("加密的:" + KL(s));
System.out.println("解密的:" + JM(KL(s)));
}
}
- MD5.rar (911 Bytes)
- 下载次数: 27
评论
2 楼
zhaoshijie
2013-09-09
LinApex 写道
建议将这篇博客名改成,对MD5再次加密解密的艺术
请问为什么 改成这个样的名字 有什么好的解释吗?
1 楼
LinApex
2013-09-06
建议将这篇博客名改成,对MD5再次加密解密的艺术
发表评论
-
各大巨头电商提供的IP库API接口-新浪、搜狐、阿里...
2015-04-22 13:18 15943关键字:各大巨头电商提供的IP库API接口-新浪、搜狐、阿里. ... -
用Java来获取访问者真实的IP地址-超准确
2015-04-22 12:55 6279关键字:用Java来获取访问者真实的IP地址-超准确 下面分享 ... -
Shiro集成OAuth2
2015-04-21 10:31 12502关键字:Shiro集成OAuth2 参考:http://jin ... -
淘宝网架构分享总结 - 架构,分布式,淘宝,虚拟化,水平伸缩
2015-04-19 00:25 7652推荐综合架构交流群:JAVA开发高级群 点击入群!!! 关键 ... -
Zookeeper 和 SASL
2015-04-16 09:29 13671关键字:Zookeeper 和 SASL 介绍 这是一个描述Z ... -
非对称加密(RSA)加密解密实现通信JAVA端工具类(教程)
2015-04-15 17:27 1199关键字:非对称加密(RSA)加密解密实现通信JAVA端工具类( ... -
对称加密(AES)加密实现工具类(教程)
2015-04-15 17:11 2164关键字:对称加密(AES)加密实现工具类(教程) Java加 ... -
Curator-Framework开源Zookeeper快速开发框架介绍
2015-04-14 18:41 721关键字:Curator-Framework开源Zookeepe ... -
IM消息推送之Openfire
2015-04-13 13:40 2240关键字:IM消息推送之Openfire Openfire 采用 ... -
Nio框架之Mina的demo
2015-04-12 13:38 708关键字:Nio框架之Mina的demo 官网:http://m ... -
AMQP中文版协议规范
2015-01-23 17:12 3029关键字:AMQP中文版协议规范 AMQP中文版协议规范:ht ... -
数据库连接池选型
2014-12-04 18:32 1186关键字:数据库连接池选型 proxool(与spring不太 ... -
spring中的数据源配置信息加密方案
2014-10-22 10:36 1094关键字:spring中的数据源配置信息加密方案 附件是完整的 ... -
OAuth2.0的Java实现 Apache Amber
2014-10-09 23:20 833关键字:OAuth2.0的Java实现 Apache Ambe ... -
企业信息管理系统基础框架jeesite
2014-05-06 22:21 2634jeesite项目地址(使用说明,):http://jeesi ... -
java中文分词组件-word分词
2014-05-06 21:33 22019关键字:java中文分词组 ... -
java制作可执行文件EXE文件
2014-05-05 18:58 1631关键字:java制作可执行文件EXE文件 参考:http: ... -
Quartz任务调度器详解
2014-04-25 22:46 19044关键字: 参考文章:ht ... -
各种hash算法-hashcodeUtil
2014-04-24 15:36 4286关键字:各种hash算法-hashcodeUtil -
性能监控工具类(StopWatchUtil)
2014-03-21 15:12 5760关键字:性能监控工具类(StopWatchUtil) 附 ...
相关推荐
本资料包“java 加密艺术源码”聚焦于Java中常用的加密方法,包括MD5、Hex和Base64编码。下面我们将详细探讨这些知识点。 1. **MD5(Message-Digest Algorithm 5)** MD5是一种广泛使用的哈希函数,它能够将任意...
本压缩包文件"Java加密与解密的艺术"显然是一份深入探讨这一主题的源代码集合,旨在帮助开发者更深入地理解和应用这些技术。 首先,Java提供了内置的`java.security`包,它包含了各种加密相关的类和接口,如`Key`, ...
本文通过对MD5算法原理的深入分析以及与其他加密算法的结合应用,提出了一种基于MD5摘要算法的一次一密方法,有效地提升了身份认证的安全性。这种方案不仅适用于高校的艺术类远程招生与考试管理系统,对于其他需要...
同时,文件的加密解密可以通过FileInputStream和FileOutputStream结合Cipher流实现。 9. 安全注意事项 虽然Java提供了强大的加密工具,但开发者仍需注意密钥管理、随机数生成器的使用、防止中间人攻击等问题,以...
在Java中,这些加密技术都有内置的API支持,如java.security包下的MessageDigest、KeyPairGenerator、Signature等类,开发者可以方便地实现各种加密解密操作。学习和理解这些概念及其实现,对于提升一个程序员的安全...
【标题】"image图片转字符.zip" 是一个与图像处理相关的压缩文件,它包含了将图片转换为字符艺术的工具或程序。这个工具可能是基于Java编程语言实现的,因为标签中提到了 "java",暗示了这可能是一个Java项目。字符...
接下来,`CryptoJS`是一个开源的JavaScript加密库,提供了多种加密算法,如AES(高级加密标准)、DES(数据加密标准)、MD5(消息摘要算法5)和SHA(安全散列算法)系列。在`CryptoJS`中,你可以对数据进行加密,...
MD5和SHA系列(如SHA-256)是常见的哈希函数,它们能够帮助检测数据是否被篡改,广泛应用于密码存储、文件校验等领域。 数字签名则是利用非对称加密原理实现的一种验证机制,它可以确保信息的发送者真实可信,并且...
我们将使用这个库来加密和解密有效载荷。 GameOnTools.cs:这是一个包装类,它将把 BouncyCastle 库暴露给其余的游戏行为。 /Models:这些是用于解析与 GameOn API 之间的 JSON 的类。 更多详情、使用方法,请...
2. **解密**:与加密相反,解密是将密文恢复为明文的过程。这个过程同样需要正确的密钥。 3. **密钥**:密钥是加密和解密过程中使用的秘密信息,分为对称密钥和非对称密钥。对称密钥是发送者和接收者共享的同一密钥...
同时,现代密码学中的公钥加密(RSA)、哈希函数(MD5、SHA系列)和对称加密算法(AES)也可能在谜题中出现。 3. 模拟与逻辑推理:有时,谜题可能涉及数字序列、逻辑门或布尔运算,参赛者需要根据给出的图片推断出...
2. **艺术与加密的结合**:如何使用加密技术创作视觉艺术作品,如数字艺术、加密画作等,这些作品可能隐藏着秘密信息,只有通过解密才能揭示其真实含义。 3. **安全性与美学**:探讨如何在保持艺术美感的同时确保...
- 哈希函数(如MD5、SHA-1、SHA-256) - 密码分析方法,如频率分析、生日攻击、蛮力攻击 - 密钥交换协议(如Diffie-Hellman) **网络与Web安全:** - SQL注入、XSS(跨站脚本)、CSRF(跨站请求伪造) - HTTP头部...
10.2 加密解密 412 实例286 MD5加密 412 实例287 RSA加密 419 实例288 DES加密 420 实例289 RC4加密 424 实例290 SHA1加密 427 实例291 恺撒加密 432 第11章 游戏 435 实例292 猜数字游戏 436 ...
1. **哈希计算**:对媒体文件内容进行哈希运算,如SHA-256或MD5,生成一个唯一的数字指纹。 2. **非对称加密**:使用RSA、ECC等非对称加密算法,用私钥对哈希值进行加密,生成数字签名。 3. **签名验证**:接收方...
除了基本的加密解密,CryptUtils可能还包含了哈希函数,这是一种将任意长度的信息转化为固定长度输出的函数,广泛应用于密码存储、数据完整性校验等领域。常见的哈希函数有MD5和SHA系列,它们都有不可逆的特点,即...
Web Crypto API是现代浏览器内置的加密接口,提供了一系列加密操作,包括密钥生成、加密、解密、签名和验证等。开发者可以利用它来进行更安全的加密操作。 总结: 在"密码战"中,JavaScript以其灵活性和广泛的应用...
密码学不仅仅是关于加密和解密的艺术,它还涉及到如何在敌对的环境中安全地进行通信,如何设计出既安全又高效的密码体制,以及如何分析现有体制的安全性等问题。杨柳教授强调了通过不安全的通信媒介进行安全通信的...
5. **JavaScript中的`crypto`库**:`crypto`是Node.js内置的安全加密模块,提供了各种加密和哈希功能,包括生成哈希、签名、解密等。在浏览器环境中,可以使用Web Cryptography API来实现类似的功能。 6. **README....
2. **密码学**:哈希值可能与解密或验证过程有关,可能需要对常见的哈希函数(如MD5、SHA系列)有一定了解,甚至可能涉及到彩虹表、碰撞攻击等高级概念。 3. **Web安全**:如果附件与Web应用相关,可能涉及SQL注入...