アプリ版:「スタンプのみでお礼する」機能のリリースについて

Java5.0でSecretKeySpecを使いキーを作成したいのですが、「40bit以上1024bit以下でキーを作れ」と言われます。どうしても32bitでキーを作りたいのですが、どうすればいいでしょうか?

A 回答 (1件)

該当のソースコードと例外の発生箇所を提示したほうが、レスがつきやすいと思います。



とりあえず、こちらで調べた限りでは、
Sunの純正のJCEでは無理な感じです。>32bit Keyで暗号化
よって他の暗号プロバイダを導入してみてはいかがでしょうか?
ColdFusion MX 7 での強力暗号化機能
http://www.macromedia.com/jp/support/coldfusion/ …
のアドレスにあった「Bouncy Castle Crypto 」をこちらの環境で導入したところ、下記ソースで動作しましたので。(%JAVA_HOME%jre\lib\securityファイルを書き換える必要がありましたが。)

以下 参考サンプル。

import javax.crypto.spec.SecretKeySpec;

public class Main {
public static void main(String[] args) throws Exception {
byte[] keys= new byte[]{(byte)60};//暗号鍵
String PlanText = "HOGE"; //平文
SecretKeySpec spec = new SecretKeySpec(keys,"RC4");
javax.crypto.Cipher cipher =
javax.crypto.Cipher.getInstance("RC4");
//暗号化
cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, spec);
byte[] encrypted = cipher.doFinal(PlanText.getBytes());
System.out.println(new String(encrypted));

//復号化
cipher.init(javax.crypto.Cipher.DECRYPT_MODE, spec);
byte[] decrypted = cipher.doFinal(encrypted);
System.out.println(new String(decrypted));
}
}

#あとこの内容で解決した場合は、お手数ですがマルチポスト先にも解決内容を反映してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
おかげさまで解決しました。

お礼日時:2006/04/28 12:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!