/**
* @about JavaEncrypt Class
*/
package open.source.java;
import java.security.Key;
import java.security.MessageDigest;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
/**
* @author zwm
*
*/
public class JavaEncrypt {
public static void main(String args[]) throws Exception {
JavaEncrypt je = new JavaEncrypt();
String s="zhaowenming21";
System.out.println(je.encrypt(s));
}
/**
*
* @param s
* @return
* @throws Exception
*/
public String encrypt(String s) throws Exception {
MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
messageDigest.update(s.getBytes("UTF-8"));
byte by[] = messageDigest.digest();
// 调用byte2hex(by)方法
return byte2hex(by);
}
/**
* byte 转为 hex
* @param by
* @return
* @throws Exception
*/
private String byte2hex(byte by[]) throws Exception {
String s = "";
for (int i = 0; i < by.length; i++) {
String st = Integer.toHexString(by[i] & 0xff);
if (st.length() == 1)
s = (new StringBuilder()).append(s).append("0").append(st)
.toString();
else
s = (new StringBuilder()).append(s).append(st).toString();
if (i < by.length - 1)
s = (new StringBuilder()).append(s).append("").toString();
}
return s.toUpperCase();
}
/**
* 取得密钥
* @return
* @throws Exception
*/
public Key getKey() throws Exception {
KeyGenerator keygenerator = KeyGenerator.getInstance("AES");
keygenerator.init(128);
javax.crypto.SecretKey secretkey = keygenerator.generateKey();
return secretkey;
}
/**
*
* @param key
* @param abyte0
* @return
* @throws Exception
*/
public byte[] Sig_EnCrypt(Key key, byte abyte0[]) throws Exception {
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(1, key);
byte abyte1[] = cipher.doFinal(abyte0);
return abyte1;
}
/**
*
* @param key
* @param abyte0
* @return
* @throws Exception
*/
public byte[] Sig_DeCrypt(Key key, byte abyte0[]) throws Exception {
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(2, key);
byte abyte1[] = cipher.doFinal(abyte0);
return abyte1;
}
}
分享到:
相关推荐
一个java加密程序源代码一个java加密程序源代码一个java加密程序源代码
各位不好意思,不知道什么原因,里面什么都没有,不要再下载了!对于已经下载了的朋友,我深表歉意!!!
需要源码的,与我联系,一起学习探讨,适合初学java, 附:有打包好exe格式的
用java编程制作加密的java程序,分有密钥和无秘要,两种方法,很好用,照着写一遍,你也会掌握此2种写法。
java加密程序
用于新手,java加密小程序,可以帮助你理解java
例如,本加密工具安装在c:\hideasoft\java_protect,执行加密后的CLASS文件的命令行如下: java -agentlib:c:\hideasoft\java_protect\hidea <您的CLASS类及参数> 应用场合 独立的应用程序(Application,...
Java IO 图片加密,使用Java的stream流进行文件的读写,实现图片的加密和解密!
java写的MD5加密程序,具有短小的特点
RSA加密使用RSA的Java加密程序
java的MD5加密程序java的MD5加密程序java的MD5加密程序java的MD5加密程序java的MD5加密程序java的MD5加密程序
采用MyEclipse编写的一个java加密解密程序,算法是凯撒加密法,欢迎有兴趣的朋友下载
这个加密软件可以实现几种主流的加密算法:Blowfish、DES、TripleDES(即3DES)、AES、RC4的加密和解密,并有图形界面
需要安装JAVA虚拟机 双击程序,在程序界面的“文件路径”输入需要加密的文件,在“保存路径”输入加密后保存的路径,然后就是输入密码,按加密,完成! 解密: 需要按解密单选框!
MD5 JAVA源程序加密程序下载,可以对密码,保密数据进行加密,防止被盗用!
文件加密程序,使用java swing 开发。界面UI丑陋,但是可以保护个人隐私。 程序第一次使用需要创建一个数据保存的目录和密码一定要保存好,使用前先看readme 文件。 个人兴趣开发,不喜欢勿怪,如果有觉得感兴趣的...
记事本中的加密程序,加减密的相关关键代码
这是一个给文件加密的源程序,是属于很简单的那种.