判断一个字符串是否被Base64加密详解程序员
2023-06-13 09:19:58 时间
字符串:RGFqaURhbGlfSmlud2FuQ2hpamk=
首先要知道什么是Base64加密?就是Base64是怎么加密的?
Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息
至于Base64是怎么加密的?
看一个简单的例子:
转前: s 1 3* 字符串只可能包含A-Z,a-z,0-9,+,/,=字符
* 字符串长度是4的倍数
* =只会出现在字符串最后,可能没有或者一个等号或者两个等号
1 private static boolean isBase64(String str) { 2 String base64Pattern = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"; 3 return Pattern.matches(base64Pattern, str); 4 }
Java代码判断
1 private static boolean isBase64(String str) { 2 if (str == null || str.trm().length() == 0) { 3 return false; 4 } else { 5 if (str.length() % 4 != 0) { 6 return false; 7 } 9 char[] strChars = str.toCharArray(); 10 for (char c:strChars) { 11 if ((c = a c = z) || (c = A c = Z) || (c = 0 c = 9) 12 || c == + || c == / || c == =) { 13 continue; 14 } else { 15 return false; 16 } 17 } 18 return true; 19 } 20 }
PHP代码判断
$s = "RGFqaURhbGlfSmlud2FuQ2hpamk="; if ($s == base64_encode(base64_decode($s))) { echo yes; }else{ echo no;
希望对大家理解Base64有所帮助。
相关文章
- 【BSP视频教程】BSP视频教程第19期:单片机BootLoader的AES加密实战,含上位机和下位机代码全开源(2022-06-26)
- 哈希算法是对称算法还是非对称算法_对称加密和非对称加密原理
- 【APP 逆向百例】Frida 初体验,root 检测与加密字符串定位
- VR视频加密SDK方案一机一码
- 【Android 安全】DEX 加密 ( Application 替换 | 判定自定义 Application 存在 | 获取 ContextImpl 对象 )
- Wine 3.0发布:支持Android图形驱动、Direct3D 11、AES加密
- 国外记者演示币圈如何割韭菜:300美元造出2100万枚加密货币
- SQL Server加密解密:提升数据安全性的关键!(sqlserver加解密)
- MySQL禁止解锁加密键(MySQL不允许解锁密钥)
- 对抗诈骗的新武器?Vitalik Buterin加密经济学提案惩罚虚假信息
- discuz程序的PHP加密函数原理分析