对数据进行加密是一个很常用的需求,因为我们经常要进行各种各样数据的校验和数据的传输,在校验的过程中我们往往是不希望用户看到真实的数据的,因为那样在某些情况下就失去了校验的意义了,所以对数据进行加密是一个很平常的需求。
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`组件的核心功能是对数据进行加密和解密操作,这两个过程是信息安全领域的基本概念...
使用SM3、SM4对数据进行加密
完美使用RSA2结合AES对数据进行加密,兼容RSA2,可以使用长度为2048的秘钥,且AES加解密不受Android版本限制,详情请看博客:https://yuzhiqiang.blog.csdn.net/article/details/88657793
数据加密是指对数据进行加密处理,以保护数据的机密性、完整性和真实性。数据加密技术可以防止未经授权的访问、泄露或篡改数据。数据加密技术分为对称加密和非对称加密两种。对称加密使用相同的密钥进行加密和解密,...
在IT行业中,数据加密是确保通信安全的关键技术之一。本项目是使用C#编程语言编写的,旨在为数据传输提供安全保障,适用于课程设计或者实际应用中的数据加密需求。以下是关于这个软件及其涉及的知识点的详细解释: ...
DES(Data Encryption Standard,数据加密标准)是一种古老的对称加密算法,基于Feistel结构,使用64位的密钥对数据进行加密和解密。虽然DES在今天已经显得不够安全,因为其56位的有效密钥长度可以被现代计算机迅速...
客户端收到公钥后,可以使用`javax.crypto.Cipher`类进行数据加密。首先,通过Base64解码恢复公钥,然后初始化Cipher实例,设置为加密模式,使用公钥作为参数。最后,使用`Cipher#doFinal()`方法对数据进行加密。 ...
RSA通常用于加密较小的数据块(如AES密钥)或进行密钥交换,而AES则用于实际的数据加密。 在实际应用中,KeyStore不仅适用于运行时生成的数据,如用户输入的密码或服务器传递的令牌,不适合预设在App内的固定密钥,...
在Android中,进行数据加密的基本步骤包括: 1. 选择合适的加密算法:根据需求,选择适合的加密算法。例如,AES适用于大量数据的快速加密,而RSA则适用于密钥交换。 2. 生成密钥:对称加密如AES需要生成一个密钥,...
其核心功能包括但不限于数据加密、消息验证以及密钥管理等,确保在网络环境下进行的各种交易活动能够安全进行,有效防范各类欺诈行为。 #### 二、SJL05金融数据加密机的主要功能 SJL05金融数据加密机的主要功能...
5. **数据加密**:使用选定的加密算法和密钥对数据进行加密,生成密文。 6. **数据传输与存储**:加密后的数据通过安全通道传输,并在安全的存储设备上保存。 7. **数据解密**:当需要访问数据时,使用正确的密钥...
数据库安全性与数据加密技术 数据库安全性是指保护数据库免受未经授权的访问、泄露、修改或破坏的措施。数据库安全性是数据库管理系统的重要组成部分,旨在保护数据库中的数据免受各种威胁。 数据库安全性的重要性...
混合加密系统结合了对称加密和非对称加密的优势,它通常在安全信道上使用非对称加密来交换对称密钥,之后利用对称加密对大量数据进行加密和解密处理。这种做法兼顾了加密效率和安全性,成为当今网络通信的主流加密...
南大通用GBase 8s数据加密函数 在南大通用GBase 8s数据库管理系统中,数据加密函数是一个非常重要的安全机制,它可以保护敏感数据免受未经授权的访问和泄露。通过使用SET ENCRYPTION PASSWORD语句和内置的SQL加密...
在本篇中,我们首先将探讨数据加密技术的基本概念,随后对数据加密技术的分类进行分析,并深入探讨其在网络安全中的具体应用。 数据加密技术简述 数据加密技术是指将明文信息通过特定的算法和密钥转变为密文,使得...
### AES、RSA相结合的数据加密方案在Java中的实现 #### 概述 随着互联网技术的不断发展,信息安全成为企业和个人用户关注的重点。特别是在电子商务领域,确保数据传输的安全性至关重要。本文将探讨如何结合使用AES...
2. **加密过程**:读取待加密文件内容,使用选定的加密算法和密钥,对数据进行加密处理,生成加密后的文件。 3. **解密过程**:接收加密文件,使用相同的密钥和算法,将加密数据还原为原始文件内容。 4. **错误处理*...
为了防止数据的非法篡改、偷听和盗窃,需要对数据进行加密。 Oracle 环境下实现数据传输加密的方法有多种,包括 RSA 加密算法和 DES 加密算法。RSA 加密算法采用秘密的、对每一会话随机产生的独一无二的密钥,对...
jsencrypt 是一个 JavaScript 库,用于在客户端对数据进行加密,而 C# 则是用于在服务器端对数据进行解密的语言。以下是关于 jsencrypt 参数前端加密 C# 解密的知识点: 1. 前端加密:在前端使用 jsencrypt 库对...
本实验报告的主要内容是对计算机信息安全实验的一些基本概念和技术的了解,包括数据加密和解密的原理和方法。实验中,我们使用了 DES、RSA 和 RC4 等加密算法,并对它们的实现进行了研究和实践。 一、数据加密和...