jCription を使用して struts2 プロジェクトでユーザー名パスワードを暗号化しようとしています。アクション クラスを追加し、この記事で説明したキー生成コードを追加しました。
以下は、実行メソッド内でアクションが行うことです(以下のコードの後にnullを返しました)
JCryptionUtil jCryptionUtil = new JCryptionUtil();
KeyPair keys = null;
if (request.getSession().getAttribute("keys") == null) {
keys = jCryptionUtil.generateKeypair(512);
request.getSession().setAttribute("keys", keys);
}
StringBuffer output = new StringBuffer();
String e = JCryptionUtil.getPublicKeyExponent(keys);
String n = JCryptionUtil.getPublicKeyModulus(keys);
String md = String.valueOf(JCryptionUtil.getMaxDigits(512));
output.append("{\"e\":\"");
output.append(e);
output.append("\",\"n\":\"");
output.append(n);
output.append("\",\"maxdigits\":\"");
output.append(md);
output.append("\"}");
output.toString();
response.getOutputStream().print(
output.toString().replaceAll("\r", "").replaceAll("\n", "")
.trim());
struts.xml で struts アクションをマップしましたが、セッションにキーを追加するためだけに使用される以下の ajax リクエストによってこのアクションがトリガーされるため、結果タグを追加していません。
function getKeys() {
$.jCryption.getKeys("encryptionAction?generateKeypair=true", function(
receivedKeys) {
keys = receivedKeys;
});
}
問題は、リクエストがアクション クラスをトリガーしないことです。ここで何が欠けていますか?結果について指定するために struts.xml に入れる必要がある特定の追加コードはありますか json object/