我有这样的代码,在编码中我将字母转换为字节,然后用一元按位补码翻转它们〜最后将其转换为字符串。
之后我想用类似的方法解密它。问题是,对于两个相似的输入字符串(但不相同),我得到具有相同哈希码的相同编码字符串。
String(bytes) 方法是否会因为字节为负数而丢失信息,或者我可以在不更改加密部分的情况下以某种方式检索它?
谢谢
static String encrypt(String s){
byte[] bytes=s.getBytes();
byte[] enc=new byte[bytes.length];
for (int i=0;i<bytes.length;i++){
enc[i]=(byte) ~bytes[i];
}
return new String(enc);
}
static String decrypt(String s){
...