对于下面的代码,当我尝试base64编码一个字符串。验证Base64编码字符串
import org.apache.commons.codec.binary.Base64;
public class Codec {
public static void main(String[] args) {
String clrTxt = "Hello world";
String encodedTxt;
encodedText = new String(Base64.encodeBase64(clearText.getBytes()));
System.out.println("Encoded: " + encodedText);
System.out.println("Decoded:"
+ new String(Base64.decodeBase64(encodedText.getBytes())));
//
// output :
// Encoded: **SGVsbG8gd29ybGQ=**
// Decoded:Hello world
}
}
在当我尝试插入一些extraa字符,编码字符串说 - >“SGVsb * G8ASDFASDFASDFASDFASDF1234234 * gd29ybGQ =” - >我与它的一些变音字符的明文。有没有一种方法来验证和克服这一点。请回复。 在此先感谢。
为什么你首先在Base64编码的字符串中添加额外的字符?作为安全措施的 –
。 “你好,世界只是一个例子”。如果在解析将被用作参数的敏感字符串的情况下怎么办?所以它解码字符串,但反应不正确。为什么shudnt我宁愿验证,然后解析,如果编码的字符串是完全有效的,并在解码时匹配模式? –
Base64只是将任意字节编码为文本格式的一种方式。它与安全无关。如果您想确保从第三方收到的某些文本没有被中间人修改,请使用加密签名。 –