0

我已经在网上查找了此异常与我的程序相关的含义,但似乎找不到解决方案或它发生在我的特定程序中的原因。

C#.Net 代码:

    /// Decrypts a BASE64 encoded string of encrypted data, returns a plain string
    /// </summary>
    /// <param name="base64StringToDecrypt">an Aes encrypted AND base64 encoded string</param>
    /// <param name="passphrase">The passphrase.</param>
    /// <returns>returns a plain string</returns>
    public static string AESDecrypt(string base64StringToDecrypt, string passphrase)
    {
        //Set up the encryption objects
        using (AesCryptoServiceProvider acsp = GetProvider(Encoding.Default.GetBytes(passphrase)))
        {
            byte[] RawBytes = Convert.FromBase64String(base64StringToDecrypt);
            ICryptoTransform ictD = acsp.CreateDecryptor();

            //RawBytes now contains original byte array, still in Encrypted state

            //Decrypt into stream
            MemoryStream msD = new MemoryStream(RawBytes, 0, RawBytes.Length);
            CryptoStream csD = new CryptoStream(msD, ictD, CryptoStreamMode.Read);
            //csD now contains original byte array, fully decrypted

            //return the content of msD as a regular string
            return (new StreamReader(csD)).ReadToEnd();
        }
    }

我已经使用 google CryptoJS 3.1 来加密密码

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
<script>
var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
</script>

我的 JavaScript 代码:

var encrypted = CryptoJS.AES.encrypt(newPassword, oldPassword);
cipherText1 = encrypted.ciphertext.toString(CryptoJS.enc.Base64);
console.log(cipherText1);
4

1 回答 1

-2

尝试用以下代码替换您的代码

var encrypted = CryptoJS.AES.encrypt(newPassword, oldPassword);
cipherText1 = Convert.ToBase64String(encrypted); 
console.log(cipherText1);
于 2013-08-20T13:52:26.890 回答