我正在制作一个简单的程序,它可以接收用户在文本框中输入的文本和密码,然后对其进行一些简单的加密并将其保存到文件中。之后,用户应该能够再次打开文件并提供用于加密的密码,从而得到原始文本。
目前,我正在将字符串分成字符数组,然后对密码做同样的操作。之后,我将密码转换为整数,找到所有整数的平均值,并将其用作原始文本中字符的偏移量。有点像这样:
问题在于不同平台上字符的值是不同的,因此有时偏移量会使字符变成一些奇怪的数字(如负值),这将把字符变成问号。
我查看了标准Java API中的加密库,但我感到困惑,因为如果密钥每次启动程序时都是随机生成的,那么它的工作原理是什么。
我需要两个函数,看起来像
非常感谢任何帮助,这只是一个个人项目,因此我不需要任何高端的加密方法。
目前,我正在将字符串分成字符数组,然后对密码做同样的操作。之后,我将密码转换为整数,找到所有整数的平均值,并将其用作原始文本中字符的偏移量。有点像这样:
textChars[1]= (char)((int)textChars[1]+offset);
那么我可以对加密字符串进行反转:
encryptedChars[1]= (char)((int)encryptedChars[1]-offset);
问题在于不同平台上字符的值是不同的,因此有时偏移量会使字符变成一些奇怪的数字(如负值),这将把字符变成问号。
我查看了标准Java API中的加密库,但我感到困惑,因为如果密钥每次启动程序时都是随机生成的,那么它的工作原理是什么。
我需要两个函数,看起来像
String encrypt(String text,String Password)
,它使用密码作为密钥加密文本以解密它,和String decrypt(String encryptedText, String Password)
,它可以输出原始文本(或垃圾文本如果密码是无用的)非常感谢任何帮助,这只是一个个人项目,因此我不需要任何高端的加密方法。