随笔分类 - Java.加密解密
摘要:【需求】 将大写字母随机替换成任意大写字母将小写字母随机替换成任意小写字母将数字随机替换成数字其它保持【代码】 package com.hy.lab; /** * 随机替换算法 * 将大写字母随机替换成任意大写字母 * 将小写字母随机替换成任意小写字母 * 将数字随机替换成数字 * 其它保持 */
阅读全文
摘要:【代码】 package com.hy.lab.code; /** * 字符串XOR加密测试 */ public class XorProcess { // 得到一定长度的随机字符串 private static String getRndString(int size){ char[] arr=n
阅读全文
摘要:【需求】 将字符串后N位用0覆盖,如果字符串带小数点,则将小数点前的部分按此处理,小数点后丢弃。 【代码】 package com.hy.lab; public class CoverWithZero { public static String encrypt(String original,in
阅读全文
摘要:【代码】 package com.hy.lab; import java.security.MessageDigest; import java.text.SimpleDateFormat; import java.util.Base64; import java.util.Date; import
阅读全文
摘要:代码: package com.hy.masking; import java.util.HashMap; import java.util.Map; public class SimpleReplacer { private static final String fromStr="abcdefg
阅读全文
摘要:【特点】 和原文等长,但密钥容易被猜出来,因为seed小于原文长度。 【代码】 package com.hy.lab; /** * 置换加解密器 */ public class TranspositionCipher { public static String encrypt(String raw
阅读全文
摘要:【思路】 反向凯撒加密的思路是让字符串先反向,再移位。 这种加密能保持和原文等长,比纯凯撒加密相对难猜。 【代码】 package com.hy.cypher; public class ReverseCaesar { // 加密 private static String encrypt(Stri
阅读全文
摘要:【代码】 package com.hy.datamasking; /** * 凯撒密码小实验 */ class CaesarCode { // 加密 private static String encrypt(String str){ char[] arr=str.toCharArray(); fo
阅读全文
摘要:代码: package ufo; import java.security.MessageDigest; import org.apache.commons.codec.binary.Base64; public class MD2_Test { public static void main(St
阅读全文
摘要:代码: package ufo; import java.security.MessageDigest; import org.apache.commons.codec.binary.Base64; public class MD5_Test { public static void main(St
阅读全文
摘要:前篇讲述了使用Apache的Codec来进行Base64加解密的情况,这回来看直接使用JDK1.8的Base64方案。 代码: import java.nio.charset.StandardCharsets; import java.util.Base64; public class Base64
阅读全文
摘要:代码: package ufo; import java.security.MessageDigest; import org.apache.commons.codec.binary.Base64; public class SHA_Test { public static void main(St
阅读全文
摘要:代码: package ufo; import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import
阅读全文
摘要:程序: package ufo; import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import
阅读全文
摘要:程序: package ufo; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec;
阅读全文
摘要:例程下载: https://files.cnblogs.com/files/heyang78/ufo_base64_des_211003am.rar 需要导入的依赖: <dependency> <groupId>commons-codec</groupId> <artifactId>commons-
阅读全文
摘要:Base64算法之所以不算加密,是因为基于Base64算法的消息传递模型中没有密钥的概念,base64字符映射表本身起到了密钥的作用。 但是,正因为密钥即字符映射表,消息传递双方倒还省事了,直接省去了构建密钥、公布密钥的步骤。 对于一些加密级别不高、只不想让人一眼看出原文的场合,Base64算法也还
阅读全文
摘要:例程下载:https://files.cnblogs.com/files/heyang78/ufo_RSA_210930.rar 程序: package ufo; import java.security.KeyFactory; import java.security.KeyPair; impor
阅读全文
摘要:本文例程下载: https://files.cnblogs.com/files/heyang78/ufo_aes_encode_decode_210927.rar 代码: package ufo; import java.security.SecureRandom; import javax.cry
阅读全文
摘要:https://baike.baidu.com/item/base64/8545775?fr=aladdin import java.util.Base64; 对于标准的Base64: 加密为字符串使用Base64.getEncoder().encodeToString(); 加密为字节数组使用Ba
阅读全文