/**
* @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中,我们可以使用多种方法来实现加密,这些方法通常基于标准的加密算法,如对称加密和非对称加密。对称加密算法如DES(Data ...
Java加密程序源代码是用于保护数据安全的重要工具,它通过特定的算法将原始信息转换成不可读的形式,防止未经授权的访问或泄露。本程序可能涵盖了对称加密、非对称加密以及哈希函数等多种加密技术。 对称加密是最早...
需要源码的,与我联系,一起学习探讨,适合初学java, 附:有打包好exe格式的
本资料包“加密典型代码(java)”旨在帮助开发者学习如何在Java环境中编写加密程序,包括有密钥和无密钥(也称为对称加密和非对称加密)两种主要的加密方式。 对称加密是基于相同的密钥进行数据加密和解密的方法,...
本项目"用Java实现的图片加密程序"正是关注这一主题,它利用Java的IO流处理技术,实现了对图片文件的加密和解密功能。以下是关于这个项目的一些详细知识点: 1. **Java IO流**:Java的IO流是处理输入输出的基础,它...
Java加密小程序是一个非常适合初学者了解和实践Java编程中安全与加密技术的项目。在这个程序中,我们可以探索如何在Java环境中实现数据的安全存储和传输,这对于任何软件开发来说都是至关重要的。下面,我们将深入...
例如,本加密工具安装在c:\hideasoft\java_protect,执行加密后的CLASS文件的命令行如下: java -agentlib:c:\hideasoft\java_protect\hidea <您的CLASS类及参数> 应用场合 独立的应用程序(Application,...
Java加密解密程序是软件开发中的一个重要领域,主要用于保护数据的安全性和隐私性。在这个特定的案例中,我们讨论的是一个基于MyEclipse开发的Java应用程序,它实现了凯撒加密法,这是一种古老但基础的加密技术。...
java写的MD5加密程序,具有短小的特点
Java加密器Applet小程序是一种基于Java编程语言的小型应用程序,它可以在Web浏览器环境中运行,用于对文件进行加密处理。Applet是Java平台早期的一种特性,允许开发者创建可以在客户端计算机上执行的互动内容,通常...
Java加密狗读取例子主要涉及的是在Java编程环境中与硬件加密设备进行交互的技术。加密狗是一种硬件安全模块,用于保护软件免受非法复制和逆向工程。在这个特定的例子中,我们关注的是ET199型号的加密狗,它通常被...
Java加密解密工具包,通常用于保护敏感数据的安全,防止未经授权的访问或篡改。这个名为"JCT"的工具包提供了丰富的功能,使得开发者在Java应用中集成加密和解密操作变得更加简单。下面我们将详细探讨Java加密的相关...
Java加密扩展基础是Java开发工具包(Java SDK)中的一个重要组件,自1.4版本起,JCE(Java Cryptography Extension)被纳入核心库,为Java开发者提供了强大的安全功能。这个扩展提供了一套完整的框架,使得开发人员...
这个加密软件可以实现几种主流的加密算法:Blowfish、DES、TripleDES(即3DES)、AES、RC4的加密和解密,并有图形界面
需要安装JAVA虚拟机 双击程序,在程序界面的“文件路径”输入需要加密的文件,在“保存路径”输入加密后保存的路径,然后就是输入密码,按加密,完成! 解密: 需要按解密单选框!
MD5 JAVA源程序加密程序下载,可以对密码,保密数据进行加密,防止被盗用!
《JAVA加密和解密的艺术(第二版)》是一本深入探讨Java平台上的加密与解密技术的专业书籍。这本书不仅提供了理论知识,还包含了丰富的实践示例,帮助读者理解和掌握加密技术在实际应用中的运用。其内容涵盖了从基本...
文件加密程序,使用java swing 开发。界面UI丑陋,但是可以保护个人隐私。 程序第一次使用需要创建一个数据保存的目录和密码一定要保存好,使用前先看readme 文件。 个人兴趣开发,不喜欢勿怪,如果有觉得感兴趣的...
记事本中的加密程序,加减密的相关关键代码