ASP.NET 核心应用程序中的 CryptoJS 错误 - 找不到变量:CryptoJS

Error with CryptoJS in ASP.NET Core Application - Can't find variable: CryptoJS

我正在尝试使用 CryptoJS 来加密登录用户名和密码,我总是收到错误 Can't find variable: CryptoJS,这是我遵循的步骤:

  1. 在 wwwroot 目录的 js 文件夹中包含 ads.js 文件。

  2. AESEncryption.cs 包含到项目中。

  3. _Layout.cshtml 页末尾添加了 <script src="~/js/aes.js" type="text/javascript"></script>

  4. Index.cshtml

    中使用以下函数
    <script type="text/javascript">
    
    function CheckData()
    
    {
        var txtUserName = $('#Username').val();
        var txtpassword = $('#Password').val();
    
        if (txtUserName == "") {
            alert('Please enter UserName');
            return false;
        }
        else if (txtpassword == "") {
            alert('Please enter Password');
            return false;
        }
        else {
    
            var key = CryptoJS.enc.Utf8.parse('8080808080808080');
            var iv = CryptoJS.enc.Utf8.parse('8080808080808080');
    
            var encryptedlogin = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(txtUserName), key,
                { keySize: 128 / 8, iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
            $('#Username').val(encryptedlogin);
    
            var encryptedpassword = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(txtpassword), key,
                { keySize: 128 / 8, iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
            $('#Password').val(encryptedpassword);
        }
    }
    

我总是得到 找不到变量:CryptoJS

这是一个包含问题的示例应用程序 HERE

我用的是下面的aes.js,可以用

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>

这是一个演示:

<input id="Username" />
<input id="Password" />
<button onclick="CheckData()">check</button>
@section scripts
{
    <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
    <script>
        function CheckData() {
            var txtUserName = $('#Username').val();
            var txtpassword = $('#Password').val();

            if (txtUserName == "") {
                alert('Please enter UserName');
                return false;
            }
            else if (txtpassword == "") {
                alert('Please enter Password');
                return false;
            }
            else {

                var key = CryptoJS.enc.Utf8.parse('8080808080808080');
                var iv = CryptoJS.enc.Utf8.parse('8080808080808080');

                var encryptedlogin = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(txtUserName), key,
                    { keySize: 128 / 8, iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
                $('#Username').val(encryptedlogin);

                var encryptedpassword = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(txtpassword), key,
                    { keySize: 128 / 8, iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
                $('#Password').val(encryptedpassword);
            }
        }
}

结果: