加解密
加解密
梁云亮
电 话:13264494458
微 信:13264494458
扣 扣:369950806
展开
-
【精品】将两个字符串进行加密和解密的Java工具类
使用一个分隔符将两个字符串连接在一起,并对连接后的字符串进行加密。加密过程中,首先生成一个随机下标列表,然后根据随机下标打乱字符串的顺序,并使用Base64进行编码。解密过程中,根据之前生成的随机下标列表将字符串还原,并使用Base64进行解码,最后根据分隔符将字符串拆分为原始的两个字符串。* 存放生成的随机下标。原创 2023-09-14 20:27:48 · 314 阅读 · 0 评论 -
高效的彩虹表密码攻击法
背景为了保护账号安全,几乎所有网站都不会明文保存用户的密码,而是用哈希加密算法对密码进行计算,将得到的哈希串保存在数据库中。每次用户登录时会将用户提交的密码用同样的算法计算,并将结果与数据库中保存的哈希串比对以验证用户身份。可以采用密码字典的方式对哈希密码进行“撞库”破解,这种方式对长度较短、组合简单的密码确实很有用,但是遇到复杂的密码时往往力不从心,这种情况下彩虹表破解法就很高效了。哈希加密算法是不可逆的,也就是说无论是网站的数据库管理员还是获取了密码数据的黑客,能看到的只是一长串毫无意义的字符,不原创 2022-01-14 17:16:05 · 8398 阅读 · 0 评论 -
加解密概述
加密分为三种:对称加密(symmetric),例如:AES、DES等对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥时也可以从加密密钥中推算出来。在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄露密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信安全性至关重要。非对原创 2021-12-03 14:35:02 · 346 阅读 · 3 评论 -
加解密算法 之 DES
DESDES是一种对称加密算法,所谓对称加密算法:加密和解密使用相同的秘钥的算法。示例:public class DESUtil { private static Key key; //设置秘钥key private static String KEY_STR="myKey"; private static String CHARSETNAME="UTF-8"; private...原创 2020-01-09 11:48:10 · 301 阅读 · 0 评论 -
Rsa工具类
@Slf4jpublic class RsaUtil { public static final String PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhK5CC/0MQqdG9xtMhGP0Cy8qkRw/UK7ktS9cN46V4wsDX5KvlTXyIYDXjiYwKvGVUak2OKZB688Qlz3RRy1E4UNosf8YREGwdNXE5wvG0bf1Qd5RCr/Cr99M3x/Elyp1Z+jFZlFXr原创 2021-05-18 10:07:44 · 394 阅读 · 0 评论 -
Des工具类
public class DesUtil { /** * 偏移变量,固定占8位字节 */ private final static String IV_PARAMETER = "12345678"; /** * 密钥算法 */ private static final String ALGORITHM = "DES"; /** * 加密/解密算法-工作模式-填充模式 */ private stati原创 2021-05-18 10:05:22 · 374 阅读 · 0 评论 -
Cypto工具类
public class CyptoUtil { public static final String ALGORITHM_DES = "DES/CBC/PKCS5Padding"; /** * DES算法,加密 * * @param data 待加密字符串 * @param key 加密私钥,长度不能够小于8位 * @return 加密后的字节数组,一般结合Base64编码使用 * @throws Exception原创 2021-05-18 10:04:34 · 475 阅读 · 0 评论 -
基于Java8的Base64Util工具类
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.ByteArrayOutputStream;import java.io.CharArrayWriter;import java.io.File;import java.io.FileInputStream原创 2021-05-18 10:03:36 · 975 阅读 · 0 评论 -
纯JDK实现 加密算法 之 MD5
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准中被加以规范。1996年后该算...原创 2020-01-09 14:01:24 · 1161 阅读 · 4 评论 -
MD5和SHA-1混合加盐加密
MD5和SHA-1混合加盐加密import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Random;public class MD5Sha1Util { /** * byte[]字节数组 转换成 十六进制字符串 * * @param原创 2021-05-18 10:00:22 · 484 阅读 · 1 评论 -
基于Java11的Base64工具类
工具类public class Base64Test { public static String encode(String src) { byte[] encodeBytes = Base64.getEncoder().encode(src.getBytes()); return new String(encodeBytes); } public static String decode(String src) { byte[]原创 2021-04-02 18:18:15 · 4937 阅读 · 4 评论