小编Ari*_*ieh的帖子

使用RSACryptoServiceProvider加密数据在我看来是一个奇怪的功能

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

namespace EncryptionTest
{
    class Program
    {
        static void Main(string[] args)
        {
            UnicodeEncoding ByteConverter = new UnicodeEncoding();

            byte[] dataToEncrypt = ByteConverter.GetBytes("Test data");

            string enc = Encrypt(dataToEncrypt);         
        }

        static string Encrypt(byte[] data)
        {
            UnicodeEncoding ByteConverter = new UnicodeEncoding();
            RSACryptoServiceProvider encrypt = new RSACryptoServiceProvider();

            byte[] encryptedData = encrypt.Encrypt(data, false); //Repeat this line

            return ByteConverter.GetString(encryptedData);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我使用'Set Next Statement'重复执行以下语句,即不执行任何其他代码行. byte[] encryptedData = encrypt.Encrypt(data, false);

我查看了encryptedData中的字节,发现encryptedData中的字节每次都在变化.当然这是错的?如果公钥未更改且要加密的数据尚未更改,那么'encryptedData'字节也不应更改?

c# rsacryptoserviceprovider

6
推荐指数
1
解决办法
1216
查看次数

Rfc2898DeriveBytes和TripleDes

我现在了解到,PasswordDeriveBytes不赞成使用Rfc2898DeriveBytesRfc2898DeriveBytes在MSDN上查找。有一个使用的代码示例TripleDES。但是TripleDes比年龄大和弱AES。为什么他们似乎向前迈出了一步,又向后迈了一步?可以将一个刚刚替换TripleDesAESRfc2898DeriveBytes内在的联系TripleDes

.net c# cryptography

3
推荐指数
1
解决办法
433
查看次数

标签 统计

c# ×2

.net ×1

cryptography ×1

rsacryptoserviceprovider ×1