对数据进行加密是一个很常用的需求,因为我们经常要进行各种各样数据的校验和数据的传输,在校验的过程中我们往往是不希望用户看到真实的数据的,因为那样在某些情况下就失去了校验的意义了,所以对数据进行加密是一个很平常的需求。
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class CodeTest {
BASE64Encoder encoder = new BASE64Encoder();
BASE64Decoder decoder = new BASE64Decoder();
public static void main(String args[]) throws IOException, NoSuchAlgorithmException {
String data = "你好,中国";
CodeTest test = new CodeTest();
//测试base64的编码和解码
String result = test.base64Encoder(data.getBytes());
System.out.println(result);
byte[] decoderResult = test.base64Decoder(result);
System.out.println(new String(decoderResult));
//测试md5加密
byte[] md5Result = test.md5Encoder(data);
String md5Base64EncoderResult = test.base64Encoder(md5Result);
System.out.println(md5Base64EncoderResult);
//测试SHA加密
byte[] shaResult = test.shaEncoder(data);
String shaBase64EncoderResult = test.base64Encoder(shaResult);
System.out.println(shaBase64EncoderResult);
}
/**
* 使用BASE64进行加密
* @param data
* @return
*/
public String base64Encoder(byte[] data) {
return encoder.encode(data);
}
/**
* 使用BASE64进行解密
* @param data
* @return
* @throws IOException
*/
public byte[] base64Decoder(String data) throws IOException {
return decoder.decodeBuffer(data);
}
/**
* 对数据进行MD5加密
* 不可逆的
* @param data
* @return
* @throws NoSuchAlgorithmException
*/
public byte[] md5Encoder(String data) throws NoSuchAlgorithmException {
MessageDigest md5 = MessageDigest.getInstance("MD5");
return md5.digest(data.getBytes());
}
/**
* 对数据进行SHA(安全散列算法)加密
* 不可逆
* @param data
* @return
* @throws NoSuchAlgorithmException
*/
public byte[] shaEncoder(String data) throws NoSuchAlgorithmException {
MessageDigest sha = MessageDigest.getInstance("sha");
return sha.digest(data.getBytes());
}
}
分享到:
相关推荐
应用EncryptUtil组件对数据进行加密和解密(源代码),介绍了EncryptUtil的工作原理以及相应的算法
C#写的对数据进行加密保障通信安全软件 可以作为课程设计
完美使用RSA2结合AES对数据进行加密,兼容RSA2,可以使用长度为2048的秘钥,且AES加解密不受Android版本限制,详情请看博客:https://yuzhiqiang.blog.csdn.net/article/details/88657793
对字符串进行加密 Console.WriteLine("请输入原字符串"); string str = Console.ReadLine(); Console.WriteLine("请输入加密字符串"); string str1 = Console.ReadLine(); string strNew = null; char ch; for...
数据加密数据加密数据加密数据加密数据加密数据加密数据加密数据加密
由于项目需要,在网上查找了很多资料,整理了一下各种网上的资料,经过一段时间的研究,目前以完成对AES以及RSA的前端JS加密,目前已整理完,特整理一份出来供大家参考。注意:AES用的是CryptoJS库的,而RSA则是用的...
考虑到数据安全考虑,为防止数据泄漏,第三方系统请求发送请求时,采用 3DES-ECB 加解密算法对数据进行加密。
使用输入的密钥对数据进行加密。加密过程中会进行一系列的置换、替代和移位操作。 将加密后的结果转换为16位十六进制和字符输出。 使用相同的密钥对加密后的结果进行解密,还原为原始数据。 将解密后的结果转换为16...
TDE用来对数据加密,通常 SQL 执行的应用程序逻辑不需要进行更改,仍能正常运行。 换言之,应用程序可以使用同一语法将数据插入到应用程序表中,并且 Oracle 数据库在将信息写入磁盘之前将自动对数据进行加密。 ...
对整型数值进行加密运算,并不适合其他数据的加密。 设 计过程 (1)打开Visual Studio 2008 开发环境,新建一个Windows窗体应用程序,并将其命名为Encrypt。 (2)更改默认窗体Form1 的Name 属性为Frm_Main,在该...
目前网络上的aes代码大多数只能对8/16字节的整数倍长度数据进行加密,这个例子可以对任意长度数据进行加密(包括0字节)
某软件公司要开发一个数据加密模块,可以对字符串进行加密。最简单的加密算法通过对字母进行移位来实现,同时提供了稍复杂的逆向输出加密,还提供了更加高级的求模加密。用户先使用简单的加密算法对字符串进行加密,...
Android移动设备数据加密机制,主要是讲解Android系统怎么对数据进行加密
把数据加密后可以增加数据的安全性,本实例实现对文件的机密数据进行加密的功能。运行程序,在文本框中输入要加密的数据,单击【加密】按钮,对数据进行加密,并将加密后的数据显示在“加密后的字符”文本框中
与传统的非对称加密算法不同,ASR 在加密过程中使用对称加密算法对数据进行加密,然后使用公钥对对称密钥进行加密,以确保数据的安全性。 ASR 的特点如下: 安全性高,结合了对称加密和非对称加密的优点,能够提供更...
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法...
主要介绍了Android使用KeyStore对数据进行加密的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
hive权限,通过自定义jar对hive的10000端口进行权限管控,直接放入到hive所在的lib环境下,然后对xml文件进行相应的配置
使用libssl对数据进行加密,代码中是使用公钥加密,私钥解密,密钥可以根据openssl命令生成,具体见get_key.sh;由于libssl的rsa加密接口只支持明文长度小于等于密钥长度的数据进行加密,所以代码中使用了分段加密...
数据加密软件 基于RSA 加密算法 对数据进行加密