【发布时间】:2018-10-22 05:59:54
【问题描述】:
我进行了多次讨论以了解如何执行此操作。但没有找到任何确切的解决方案。我使用以下正则表达式来检查字符串是否是 Base64 编码的
^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$
但这并不是每次都准确。我知道我可以使用一些 try catch 方法。但这对 java 来说是昂贵的操作。有什么确切的方法可以做到这一点。我正在使用 java 7。
【问题讨论】:
-
检查正则表达式是否匹配可能与首先解码 base64 文本一样昂贵,甚至更多。
-
感谢维克兰特·卡什亚普。它工作得更好。但是如果在加密字符串的末尾没有 = 符号就会有问题。
标签: java regex encryption base64