关于加密(为什么同样的明文加密之后密文会不一样)
public static void main(String[] args) throws Exception {
String key = "test";
String src = "111";
SecretKey deskey = null;
String Algorithm = "DESede"; // 加密算法
KeyGenerator gen = KeyGenerator.getInstance(Algorithm); //实例化(对称加密)密钥生成器
//或用做"IBMSecureRandom",提供强加密随机数生成器
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(key.getBytes());// 重新设置此随机对象的种子。
deskey = gen.generateKey(); //生成 密钥
gen = null;//将密钥生成器置空,gc回收
System.out.println("密钥:" + deskey.toString());
//============================================= 生成密钥
//实例化(为加密和解密提供密码功能)
Cipher c1 = Cipher.getInstance(Algorithm + "/ECB/PKCS5Padding");
c1.init(Cipher.ENCRYPT_MODE, deskey); //设置加密模式
byte[] encoded = c1.doFinal(src.getBytes("UTF-8")); //执行加密
//import org.bouncycastle.util.encoders.Base64;
String destCode = new String(Base64.encode(encoded)); //Base64编码 密文
//============================================= 生成密文
System.out.println("密文:"+destCode.toString());
}
...全文
相关推荐
明文变密文和密文变明文
明文变密文和密文变明文 对于学习如何用密钥把明文变密文,再解密很有用!
明文密文用密钥加密解密
设明文P=P0P1P2…Pn和密钥K=K0K1K2…Km(n>=m)中的字符Pi(1<=i<=n)或Kj(1<=j<=m)的ASCII为00~7FH,用密钥K对明文P进行加密得到密文C=C0C1C2…Cn, 用密钥K对密文C解密得到明文P。 加密: Ci=Pi+Kj (j=i mod (m+1)) (当Ci7FH) 解密:: Pi=Ci-Kj (j=i mod (m+1)) (当Ci>=Kj) Pi=Ci-Kj+80H (j=i mod (m+1)) (当Ci<Kj)
二维易位——通过密钥对明文进行加密或对密文进行解密
NULL 博文链接:https://815222418.iteye.com/blog/2252091
对明文内容进行加密和解密
在实际使用过程中我们常常需要对明文的文档内容进行加密处理,本示例使用异或的方式对文档内容加密,解密再一次运行程序即可
MD5加密,将明文加密成密文
MD5加密,将明文加密成密文,在一些开发中遇到需要通过MD5加密的密码可以直接使用这个类,直接调用方法即可。


Java SE
