https://httpd.apache.org/docs/2.4/misc/password_encryptions.html#digest に公式のドキュメントがある。
下記を生成している
username + ':' + realm + ':' + LOWERCASE(HEXSTR(MD5(username + ':' + realm + ':' + password)))
$ htdigest -c digestpasswords ARealm test
Adding password for test in realm ARealm.
New password: 111
Re-type new password: 111
$ cat digestpasswords
test:ARealm:8ec6c6ae886c1fc52efe07f0071c9f88
String realm = "ARealm"; String username = "test"; String password = "111"; MessageDigest md5 = MessageDigest.getInstance("MD5"); byte[] digest = md5.digest( (username + ':' + realm + ':' + password).getBytes()); System.out.println( DatatypeConverter.printHexBinary(digest).toLowerCase()); 実行すると 8ec6c6ae886c1fc52efe07f0071c9f88 が出力される。