Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angular 7中使用md5哈希和三重Des加密的加密方法_Javascript_C#_Encryption_Angular7_Md5 - Fatal编程技术网

Javascript 在angular 7中使用md5哈希和三重Des加密的加密方法

Javascript 在angular 7中使用md5哈希和三重Des加密的加密方法,javascript,c#,encryption,angular7,md5,Javascript,C#,Encryption,Angular7,Md5,我想用angular7实现同样的加密 下面的函数是在C#中,我尝试了crypto js,但它没有给出相同的结果 使用System.Security.Cryptography public static string Encrypt(string PlainText, string SecretKey) { try { byte[] keyArray; byte[] toEncryptArray = U

我想用angular7实现同样的加密

下面的函数是在C#中,我尝试了crypto js,但它没有给出相同的结果

使用System.Security.Cryptography

    public static string Encrypt(string PlainText, string SecretKey)
    {
        try
        {
            byte[] keyArray;
            byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(PlainText);

            var hashMD5 = new MD5CryptoServiceProvider();
            keyArray = hashMD5.ComputeHash(UTF8Encoding.UTF8.GetBytes(SecretKey));
            hashMD5.Clear();

            var triDESProv = new TripleDESCryptoServiceProvider();
            triDESProv.Key = keyArray;
            triDESProv.Mode = CipherMode.ECB;
            triDESProv.Padding = PaddingMode.PKCS7;

            var cTransform = triDESProv.CreateEncryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            triDESProv.Clear();
            string encText = Convert.ToBase64String(resultArray, 0, resultArray.Length);
            return encText;
        }
        catch
        {
            return "ERROR";
        }
    }

为什么不直接安装在C#和JavaScript中,并使用
crypto_secretbox()
,而不是实现的算法呢

LibNaude的secretbox比您上面发布的代码更安全,原因如下:


在每一个方面,secretbox都更安全。对libnaid的支持也很重要。

您是如何配置和使用crypto js的?还有,为什么要使用MD5和3DES?两者都被认为是不安全的。你为什么在客户端做这些事情?这是干什么用的?在客户端执行此操作的问题是,您将密钥公开给客户端,这使得它对阻止客户端访问没有多大用处。
尝试了crypto js,但它没有给我相同的结果
也许您也可以共享js代码,我们无法读取您的监视器。下一步-您使用的不是真正安全的参数-MD5用于键拉伸,3DES带有部分键,ECB模式。真正地考虑如果使用默认的TLS(HTTPS)不能满足你的要求,如果你在基于浏览器的JS代码中实现这一点,“StuttK密钥”将不再是一个秘密。这里的实际用例是什么?通常,仅使用HTTPS加密连接就足以保护传输中的数据。