2

DESアルゴリズムを使用してファイルを暗号化し、DESシークレットキーをデータベースに保存して、それを文字列に変換しました。今、その文字列をSecretkeyに変換したいと思います。

これがコードです。

        secret_key = KeyGenerator.getInstance("DES").generateKey();
        alogrithm_specs = new IvParameterSpec(initialization_vector);
        // set encryption mode ...
        encrypt = Cipher.getInstance("DES/CBC/PKCS5Padding");
        encrypt.init(Cipher.ENCRYPT_MODE, secret_key, alogrithm_specs);
        //out.print("actual secret_key:"+secret_key);

        String keyString = encoder.encode(secret_key.getEncoded());
        //out.print("keyString:"+keyString);

        byte[] encodedKey = decoder.decodeBuffer(keyString);
        //out.print("byte[]:"+encodedKey);

        secret_key= new SecretKeySpec(encodedKey,0,encodedKey.length, "DES");
        //out.print("after encode & decode secret_key:"+secret_key);

上記のコードは、以下のように文字列をキーに変換します。

actual secret_key: 'com.sun.crypto.provider.DESKey@1807c'

keyString:hvsCa0XcXhY=

byte[]:[B@7c91fe

after encode & decode secret_key:'javax.crypto.spec.SecretKeySpec@1807c`

キーを文字列に変換して、そのシークレットキーをデータベースに保存したいと思います。次に、復号化中に、その文字列をキーに変換します。

4

1 に答える 1