0
public static string Encrypt(string KeyToEncrypt)
    {
        byte[] clearBytes = System.Text.Encoding.Unicode.GetBytes(KeyToEncrypt);
        Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(_Pwd, _Salt);
        //Calling another private method for Encryption
        byte[] encryptedData = Encrypt(clearBytes, pdb.GetBytes(32), pdb.GetBytes(16));
        return Convert.ToBase64String(encryptedData);
    }

    private static byte[] Encrypt(byte[] candelaData, byte[] Key, byte[] IV)
    {
        MemoryStream ms = new MemoryStream();
        CryptoStream cs = null;

            Rijndael alg = Rijndael.Create();
            alg.Key = Key;
            alg.IV = IV;
            cs = new CryptoStream(ms, alg.CreateEncryptor(), CryptoStreamMode.Write);
            cs.Write(candelaData, 0, candelaData.Length);
            cs.FlushFinalBlock();
            return ms.ToArray();
     }

次のアルゴを Java で変換したいのですが、ライブラリを検索しましたが、何も取得できませんでした。助けてください。?

4

1 に答える 1

0

Darab さん、Java での最善の策は Bouncy Castle です。コードから読み取った AES Rijndael だけでなく、salting の crypt 用の API もあります。

Rejndael の部分については、http ://www.itcsolutions.eu/2011/08/24/how-to-encrypt-decrypt-files-in-java-with-aes-in-cbc-mode-using- を参照できますbouncy-castle-api-and-netbeans-or-eclipse/ . これにより、コードの AES 部分の公正なアイデアが得られます。この質問 here Rfc2898DeriveBytes in Javaは、ソルティングと Rfc2898 の優れたアイデアも提供します。

于 2016-08-22T06:25:19.237 に答える