加密?
MD5
郁闷噢..不太有用的了~~
给你一个MD5的算法吧:
/**
* MD5算法 2007年12月27日 Encrypt.java
*/
package org.ace.test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
*
* @author Ace
* @version 1.00
*/
public class Encrypt {
/**
* 将一个字符串使用MD5加密并返回.
*
* @param value
* 待加密的字符串.
* @return 返回使用MD5算法加密的字节串序列.
*/
public final String getMD5Message(String value) {
// 定义十六进制序列.
String hexSequence = "0123456789abcdef";
// 将待转换的字符串分解为字节串.
byte[] prepareMessage = value.getBytes();
// 生成实现MD5摘要算法的 MessageDigest 对象.
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
// 使用指定的字节串更新此摘要.
md.update(prepareMessage);
// 完成哈希计算.
byte[] newMessage = md.digest();
// 获得新字节串的长度.
int length = newMessage.length;
// 定义最终返回的字节串.
char[] message = new char[length * 2];
// 定义为最终字节串赋值的索引.
int index = 0;
// 循环遍历新字节串的每一位,变换后追加至最终字节串.
for (int i = 0; i < length; i++) {
message[index++] = hexSequence.charAt(newMessage[i] >>> 4 & 0xf);
message[index++] = hexSequence.charAt(newMessage[i] & 0xf);
}
// 返回经过MD5加密的最终字节串.
return new String(message);
}
}
要什么MD5算法了,直接自己写个算法不行吗?你直接把那个数字按照你自己的公式计算一下然后存进数据库,如果解密的话就再把公式反过来算一下不就可以了吗?
比方说一个变量我要加密:
int sum = 7;
int lastsum = sum*(sum+1)+sum/2+sum;
反正就是这么乱七八糟的算,怎么解密就不用说了吧,再算回来,如果你想再麻烦一点的话,再加上哈西码什么的。
给你说个思路
加密算法自己定。
加入原来的数组是123456
我的加密算法就是偶数位+1奇数为不变从左到右那么数字就变成了133557,在句个111111加密后就是121212.
这就是加密最基本的加密思想。
解密就不用说也知道了吧。