对数据进行加密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 对数据进行加密是一个很常用的需求,因为我们经常要进行各种各样数据的校验和数据的传输,在校验的过程中我们往往是不希望用户看到真实的数据的,因为那样在某些情况下就失去了校验的意义了,所以对数据进行加密是一个很平常的需求。

对数据进行加密是一个很常用的需求,因为我们经常要进行各种各样数据的校验和数据的传输,在校验的过程中我们往往是不希望用户看到真实的数据的,因为那样在某些情况下就失去了校验的意义了,所以对数据进行加密是一个很平常的需求。

 

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());
	}

}

 

目录
相关文章
|
1月前
|
存储 SQL 安全
加密后的数据如何进行模糊查询?
在数据安全和隐私保护日益重要的今天,加密技术成为保护敏感数据的重要手段。然而,加密后的数据在存储和传输过程中虽然安全性得到了提升,但如何对这些数据进行高效查询,尤其是模糊查询,成为了一个挑战。本文将深入探讨如何在保证数据安全的前提下,实现加密数据的模糊查询功能。
151 0
|
1天前
|
数据库 数据安全/隐私保护 Windows
Windows远程桌面出现CredSSP加密数据修正问题解决方案
【10月更文挑战第30天】本文介绍了两种解决Windows系统凭据分配问题的方法。方案一是通过组策略编辑器(gpedit.msc)启用“加密数据库修正”并将其保护级别设为“易受攻击”。方案二是通过注册表编辑器(regedit)在指定路径下创建或修改名为“AllowEncryptionOracle”的DWORD值,并将其数值设为2。
10 3
|
7天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:从漏洞到加密,保护数据的关键步骤
【10月更文挑战第24天】在数字化时代,网络安全和信息安全是维护个人隐私和企业资产的前线防线。本文将探讨网络安全中的常见漏洞、加密技术的重要性以及如何通过提高安全意识来防范潜在的网络威胁。我们将深入理解网络安全的基本概念,学习如何识别和应对安全威胁,并掌握保护信息不被非法访问的策略。无论你是IT专业人士还是日常互联网用户,这篇文章都将为你提供宝贵的知识和技能,帮助你在网络世界中更安全地航行。
|
25天前
|
算法 安全 数据安全/隐私保护
加密和解密数据
【10月更文挑战第6天】加密和解密数据
44 2
|
2月前
|
JavaScript 前端开发 安全
js逆向实战之烯牛数据请求参数加密和返回数据解密
【9月更文挑战第20天】在JavaScript逆向工程中,处理烯牛数据的请求参数加密和返回数据解密颇具挑战。本文详细分析了这一过程,包括网络请求监测、代码分析、加密算法推测及解密逻辑研究,并提供了实战步骤,如确定加密入口点、逆向分析算法及模拟加密解密过程。此外,还强调了法律合规性和安全性的重要性,帮助读者合法且安全地进行逆向工程。
84 11
|
2月前
|
数据安全/隐私保护
vuex数据持久化、加密(vuex-persistedstate、secure-ls)
本文介绍了如何在Vuex中使用`vuex-persistedstate`和`secure-ls`库进行数据的持久化和加密,确保在Vite打包上线后,Vuex中的数据安全。
65 1
|
2月前
|
存储 安全 数据库
Uno Platform 安全数据存储秘籍大公开!加密、存储、读取全攻略,让你的数据固若金汤!
在软件开发中,安全的数据存储至关重要。本文介绍如何在跨平台开发框架 Uno Platform 中实现安全数据存储,包括选择合适的数据存储方式(如本地文件或 SQLite 数据库)和使用 Bouncy Castle 加密库对数据进行 AES 加密。通过示例代码展示了数据的加密、存储及解密过程,帮助开发者保护用户敏感信息,防止数据泄露。
42 3
|
30天前
|
安全 数据安全/隐私保护 开发者
保护敏感数据:使用Python加密数据的实用方法
保护敏感数据是一项基本的安全实践,Python通过上述库提供了强大的加密工具来实现这一目标。选择哪种方法取决于具体的应用场景和安全需求:对称加密(如AES)适合快速处理大量数据,而非对称加密(如RSA)更适合安全地交换密钥或进行身份验证。哈希函数则用于验证数据的完整性和一致性。通过合理使用这些技术,开发者可以大大增强其应用程序的安全性。
56 0
|
1月前
|
存储 安全 数据库
Uno Platform 安全数据存储秘籍大公开!加密、存储、读取全攻略,让你的数据固若金汤!
在 Uno Platform 中实现安全的数据存储需要选择合适的数据存储方式,并对存储的数据进行加密。通过加密数据,可以保护用户的敏感信息,防止数据泄露。同时,在读取和使用数据时,需要进行解密操作,确保数据的可用性。希望本文对你在 Uno Platform 中实现安全的数据存储有所帮助。
27 0
|
2月前
|
存储 安全 算法
RSA在手,安全我有!Python加密解密技术,让你的数据密码坚不可摧
【9月更文挑战第11天】在数字化时代,信息安全至关重要。传统的加密方法已难以应对日益复杂的网络攻击。RSA加密算法凭借其强大的安全性和广泛的应用场景,成为保护敏感数据的首选。本文介绍RSA的基本原理及在Python中的实现方法,并探讨其优势与挑战。通过使用PyCryptodome库,我们展示了RSA加密解密的完整流程,帮助读者理解如何利用RSA为数据提供安全保障。
102 5