我在我的glassfish v3.0.1 b22中使用jdbcRealm來實現安全性。它的設置是爲了使用我的數據庫中的USER表進行身份驗證,方法如下:http://blogs.oracle.com/foo/entry/mort_learns_jdbc_realm_authentication。如果我將摘要算法作爲純文本保留,我就能正常工作。但是,當我嘗試使用SHA-256摘要算法時,它停止工作。 我所做的是在Glassfish - Security - Realm - jdbcRealm中指定 - 我想要SHA-256(我只是在摘要字段中鍵入SHA-256)。然後我編寫了一個簡單的Java程序來將密碼文本轉換爲SHA-256哈希。然後將該散列粘貼到數據庫中的密碼字段中。順便說一句,密碼字段是類型varchar(30)。我不能再登錄了。有一件事我注意到,我的簡單Java程序每次都爲同一文本字段生成不同的哈希值。Glassfish安全 - jdbcRealm:如何配置用SHA-256摘要登錄
下面是我簡單的Java程序:
MessageDigest md = MessageDigest.getInstance("SHA-256");
String text = "admin";
md.update(text.getBytes("UTF-8"));
byte[] digest = md.digest();
System.out.println(digest.toString());
我遇到從4.0遷移到4.1.1的問題http://stackoverflow.com/questions/40686737/migration-from-glassfish-4-0-to-glassfish-4-1-1-jdbc-realm -issue – Bikram 2016-11-27 01:36:52