import?java.io.*;
import?java.util.Scanner;
public?class?Screct?{
public?static?void?main(String[]?args)?{
try?{
Scanner?in=new?Scanner(System.in);
System.out.print("輸入要加密的信息:");
String?s=in.nextLine();???//輸入需要加密的信息
char[]?c=s.toCharArray();
System.out.print("輸入秘鑰字符:");
char?key=(char)?System.in.read();
in.close();
for(int?i=0;i<c.length;i++)?{
c[i]=(char)?(c[i]^key);
}
File?file=new?File("file.txt");
if(!file.exists())?{
file.createNewFile();
}
FileWriter?fw=new?FileWriter((file));
System.out.println("密文:"+String.valueOf(c));
fw.write(c);
fw.close();
FileReader?fr=new?FileReader(file);
fr.read(c);
for(int?i=0;i<c.length;i++)?{
c[i]=(char)?(c[i]^key);
}
System.out.println("明文:"+String.valueOf(c));
fr.close();
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
}
}以上是我寫的一個(gè)把文字加密到txt文件然后再解密回來的一個(gè)代碼,然后不知道為什么,輸入的如果是純英文或者全中文或者全符號(hào)都能正確翻譯回來,但是像圖上這種混合的就會(huì)把符號(hào)讀成VVVVVV,求解答
1 回答

產(chǎn)品經(jīng)理不是經(jīng)理
TA貢獻(xiàn)481條經(jīng)驗(yàn) 獲得超143個(gè)贊
我運(yùn)行你的代碼沒出現(xiàn)你說的情況,你把所有的編碼都改成utf-8了嗎?
點(diǎn)擊展開后面3條
添加回答
舉報(bào)
0/150
提交
取消