關於java8的一些記錄

 private static final String PUBKEY_START = "-----BEGIN PUBLIC KEY-----";
    private static final String PUBKEY_END = "-----END PUBLIC KEY-----";

    /**
     * 通過classpath獲取公鑰值
     */
    public static RSAPublicKey getPubKeyObj() {
        Resource res = new ClassPathResource(SecurityConstants.RSA_PUBLIC_KEY);
        try (BufferedReader br = new BufferedReader(new InputStreamReader(res.getInputStream()))) {
            String pubKey = br.lines().collect(Collectors.joining("\n"));
            pubKey = pubKey.substring(PUBKEY_START.length(), pubKey.indexOf(PUBKEY_END));
            return RsaUtils.getPublicKey(pubKey);
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
        return null;
    }

以前也做過類似的項目,只不過在祕鑰獲取方面就做的相當的不太靠譜,偶然看到一個起碼比原來項目強的多的,那沒啥說的,先記錄一下吧。

這一看,還真是有些東西沒有使用過,這裏先一一記錄一下:

1.ClassPathResource 

位於Spring核心core下,用以表達類路徑下的資源。首先簡要說明一下什麼是classpath,顧名思義,就是存放*.class類文件的路徑,或者說ClassLoader加載類時爲找到 *.class文件的路徑,對於部署在Tomcat上的WEB應用來說,/WEB-INF/classes和/WEB-INF/lib目錄就是我們所指的classpath。

2.Collectors.joining("\n")

對字符串進行更優雅的連接,支持靈活的參數配置,可以指定字符串連接時的 分隔符前綴 和 後綴 字符串。

3.待續。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章