我正在寻找一种使用.NET 3.5加密/混淆(当然还有解密/反混淆)字节数组的方法.
基本上:
byte[] aMixedUp = Encrypt(aMyByteData, "THIS IS THE SECRET KEY USED TO ENCRYPT");
Run Code Online (Sandbox Code Playgroud)
在另一边:
byte[] aDecrypted = Decrypt(aMixedUp, "THIS IS THE SECRET KEY USED TO ENCRYPT");
Run Code Online (Sandbox Code Playgroud)
它不一定是防弹.这个想法只是为了防止用户直接查看字节中的内容,以防它们映射到ASCII,但它应该比ROT13更好.
我可以轻松使用.NET库中的某些东西吗?
我在.NET中寻找一般的字符串加密类.(不要与'SecureString'类混淆.)
我已经开始提出自己的类,但是认为必须有一个.NET类,它已经允许你使用任何加密服务提供程序加密/解密任何编码的字符串.
Public Class SecureString
Private key() As Byte
Private iv() As Byte
Private m_SecureString As String
Public ReadOnly Property Encrypted() As String
Get
Return m_SecureString
End Get
End Property
Public ReadOnly Property Decrypted() As String
Get
Return Decrypt(m_SecureString)
End Get
End Property
Public Sub New(ByVal StringToSecure As String)
If StringToSecure Is Nothing Then StringToSecure = ""
m_SecureString = Encrypt(StringToSecure)
End Sub
Private Function Encrypt(ByVal StringToEncrypt As String) As String
Dim result As String = ""
Dim bytes() As Byte …Run Code Online (Sandbox Code Playgroud) 我有一个.NET应用程序.我需要将加密的文本值存储在文件中,然后在代码中的其他位置检索加密值并对其进行解密.
我不需要地球上最强大或最安全的加密方法,只需要说一些东西 - 我有加密的值,并且能够解密它.
我在网上搜索了很多以尝试使用密码术,但我发现的大多数例子都没有明确定义概念,最糟糕的是它们似乎是机器特定的.
从本质上讲,有人可以发送链接到易于使用的加密方法,该方法可以将字符串值加密到文件,然后检索这些值.
每次运行和加密时,输出都是可变的,当我尝试解密时,我得到"填充无效且无法删除".现在和这一天打了一两天,我不知所措.
private static string strIV = "abcdefghijklmnmo"; //The initialization vector.
private static string strKey = "abcdefghijklmnmoabcdefghijklmnmo"; //The key used to encrypt the text.
public static string Decrypt(string TextToDecrypt)
{
return Decryptor(TextToDecrypt);
}
private static string Encryptor(string TextToEncrypt)
{
//Turn the plaintext into a byte array.
byte[] PlainTextBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(TextToEncrypt);
//Setup the AES providor for our purposes.
AesCryptoServiceProvider aesProvider = new AesCryptoServiceProvider();
aesProvider.Key = System.Text.Encoding.ASCII.GetBytes(strKey);
aesProvider.IV = System.Text.Encoding.ASCII.GetBytes(strIV);
aesProvider.BlockSize = 128;
aesProvider.KeySize = 256;
aesProvider.Padding = PaddingMode.PKCS7;
aesProvider.Mode = CipherMode.CBC;
ICryptoTransform …Run Code Online (Sandbox Code Playgroud)