查看堆内存中的输入

时间:2018-06-06 15:57:28

标签: java security heap-memory

我正在研究Fred Long的Java编码指南。 有一个例子,他说如果我将登录存储在一个字符串中,那么堆数据中的任何人都可以看到这些数据,直到Garbage行动。 出于这个原因,他建议将数据插入到一个字符数组中,以便您可以在我们不需要它们时立即删除它们。 现在这是我的问题:如何查看堆内存运行时内容以查看数据?我尝试创建一个包含带有Login类的jar的.exe,然后使用OllyDbg调试器运行它,但我不能。你能帮助我吗?感谢

import java.io.BufferedReader; 
import java.io.IOException;
import java.io.InputStreamReader; 

public class Login {
    private String username;
    private String password;

    public Login(String user, String password){ 
        this.username = user;
        this.password = password;
    } 

    @Override
    public String toString(){
        return "Username: " + this.username + " - Password: " +     this.password;
    }



    public static void main(String[] args) throws IOException {
        BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));

        System.out.println("Enter Username:"); 
        String username = buffer.readLine();

        System.out.println("Enter Password:");
        String password = buffer.readLine();

        Login log = new Login(username,password); 

        System.out.println("Press Any Key To Continue...");
        new java.util.Scanner(System.in).nextLine();
    }
}

0 个答案:

没有答案