mycallbackhandler.java

来自「本书以大量精简的实例介绍了Java安全性编程方面的概念和技术」· Java 代码 · 共 28 行

JAVA
28
字号
import java.io.*;
import javax.security.auth.callback.*;

class MyCallbackHandler implements CallbackHandler {
    public void handle(Callback[] cb) throws IOException,
                                      UnsupportedCallbackException {
        for (int i = 0; i < cb.length; i++) {
            if (cb[i] instanceof NameCallback) {
                NameCallback nc = (NameCallback) cb[i];
                System.out.print(nc.getPrompt()+ " ");
                System.out.flush();
                String name = new BufferedReader
                       (new InputStreamReader(System.in)).readLine();
                nc.setName(name);
            }
            else if (cb[i] instanceof PasswordCallback) {
                PasswordCallback pc = (PasswordCallback) cb[i];
                System.out.print(pc.getPrompt()+ " ");
                System.out.flush();
                String pw = new BufferedReader
                        (new InputStreamReader(System.in)).readLine();
                pc.setPassword(pw.toCharArray());
                pw = null;   // Let pw be collected as soon as possible
            } else throw new
                   UnsupportedCallbackException(cb[i], "MyCallbackHandler");
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?