java - 将 StringBuffer 加密转换为 int

标签 java stringbuffer

所以我有一个基本的加密器,解密后,我想将该文件中的数字字符串转换为 int。

public class Encryption {

//Basic Encryptor/Decryptor
public Encryption() throws IOException {
    StringBuffer num = new StringBuffer("100");
    encrypt(num);

    File f = new File("C:\\fun\\a");
    if(f.mkdirs()) {
    File f2 = new File(f,"b.txt");
    FileWriter fw = new FileWriter(f2);
    BufferedWriter bw = new BufferedWriter(fw); 
    bw.write(num.toString());
    bw.close();

    Scanner s = new Scanner(f2);
    String aaa = new String(s.nextLine());
    StringBuffer bbb = new StringBuffer(aaa);
    decrypt(bbb);
    int b = Integer.parseInt(aaa.toString());

    System.out.println(b);



    }

}

//ENCRYPTOR
public static void encrypt(StringBuffer word) {
    for(int i = 0; i < word.length(); i++) {
        int temp = 0;
        temp = (int)word.charAt(i);
        temp = temp * 9;
        word.setCharAt(i, (char)temp);
    }
}

//DECRYPTOR
public static void decrypt(StringBuffer word) {
    for(int i = 0; i < word.length(); i++) {
        int temp = 0;
        temp = (int)word.charAt(i);
        temp = temp / 9;
        word.setCharAt(i, (char)temp);
    }
}


public static void main(String[] args) {    
    try {
        @SuppressWarnings("unused")
        Encryption e = new Encryption();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
  }

我尝试将字符串缓冲区转换为字符串,然后转换为 int。当我检查该文件时,它仍然是加密的,并且控制台解密时出错。

Exception in thread "main" java.lang.NumberFormatException: For input string: "???"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Encryptor.Encryption.<init>(Encryption.java:28)
at Encryptor.Encryption.main(Encryption.java:62)

指向int b = Integer.parseInt(aaa.toString());

最佳答案

我认为您唯一的问题是您正在尝试解析 aaa StringBuffer 的内容。 aaa StringBuffer 仍然包含加密的内容。您将 bbb 缓冲区传递给解密方法,因此这是您应该尝试解析为 int 的缓冲区:

int b = Integer.parseInt(bbb.toString());

关于java - 将 StringBuffer 加密转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27489407/

相关文章:

java - 如何从 Android 上的 https url 获取 xml?

java - 无效的正则表达式 : illegal repetition in Java

java - 如何随机排列没有相邻相等元素的字符串

java - 测试 StringBuilder 和 StringBuffer 之间的区别

c++ - 什么时候调用 stringbuf::flush?

java - Netty 连接到 unix 域套接字失败

java - Android Studio : Getters for editText

java - stringbuffer 和 "0&"导致截断或转义

java - 改进的 StringBuffer - Java.Lang

java - StringBuffer 的最大大小