相关疑难解决方法(0)

NodeJS和C#中的AES256加密/解密

我对以下问题的结果采取了一些自由:

并创建了以下类文件......

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace T1.CoreUtils.Utilities
{
  public static class CryptoUtility
  {
    public static string Encrypt(string input, string passphrase = null)
    {
      byte[] key, iv;
      DeriveKeyAndIV(Encoding.ASCII.GetBytes(passphrase), null, 1, out key, out iv);

      return Convert.ToBase64String(EncryptStringToBytes(input, key, iv));
    }

    public static string Decrypt(string inputBase64, string passphrase = null)
    {
      byte[] key, iv;
      DeriveKeyAndIV(Encoding.ASCII.GetBytes(passphrase), null, 1, out key, out iv);

      return DecryptStringFromBytes(Convert.FromBase64String(inputBase64), key, iv);
    } …
Run Code Online (Sandbox Code Playgroud)

c# cryptography aes node.js

5
推荐指数
1
解决办法
4988
查看次数

C#版本的OpenSSL EVP_BytesToKey方法?

我正在寻找OpenSSL EVP_BytesToKey函数的直接.NET实现.我发现的最接近的是System.Security.Cryptography.PasswordDeriveBytes类(和Rfc2898DeriveBytes),但它似乎略有不同,并且不生成与EVP_BytesToKey 相同的密钥iv.

我也发现这个实现似乎是一个好的开始,但没有考虑迭代计数.

我意识到有OpenSSL.NET,但它只是本机openssl DLL的包装,而不是"真正的".NET实现.

.net c# encryption openssl md5

4
推荐指数
1
解决办法
4098
查看次数

标签 统计

c# ×2

.net ×1

aes ×1

cryptography ×1

encryption ×1

md5 ×1

node.js ×1

openssl ×1