Tag: aes

Metro WinRT应用程序中的AesManaged Decryption

我有一些文本,由C#的AesManaged加密,必须在WinRT Metro应用程序中解密。 我无法更改加密代码,因为代码具有其他无法更改的依赖项。 加密函数如下所示: // Note: Edited out possibly real password and salt: Guid password = Guid.Parse(“AAAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA”); Guid salt = Guid.Parse(“AAAAAAAAA-BBBB-BBBB-BBBB-AAAAAAAAAAAA”); string EncryptedValue(string data) { byte[] passwordBytes = password.ToByteArray(); byte[] saltBytes = salt.ToByteArray(); byte[] bKey = new byte[16]; for(int i = 0; i < 16; i++) { bKey[i] = passwordBytes[i]; } string encryptedData = String.Empty; […]

c#AES解密

我正在使用SagePay Forms,目前正在将他们的VB示例转换为c#。 我取得了很好的进展,所以我项目的加密部分工作正常(SagePay可以解密)。 我遇到的问题是,当我尝试解密字符串时,它会变成垃圾。 如果有人这样做之前我真的很感激我的解密代码的一些帮助。 我已经包含了有效的加密代码,前两行是来自另一种方法的设置和调用。 我没有添加VB代码,但如果需要,我可以添加它。 如果不需要,不想要一个巨大的post。 实用方法: public string byteArrayToHexString(byte[] ba) { return BitConverter.ToString(ba).Replace(“-“, “”); } public static byte[] StringToByteArray(string hex) { return Enumerable.Range(0, hex.Length) .Where(x => x % 2 == 0) .Select(x => Convert.ToByte(hex.Substring(x, 2), 16)) .ToArray(); } 主加密方法,前几行是从较大的方法中提取的调用。 string crypt = “blahblahblah” string EncryptAndEncode = “@” + byteArrayToHexString(aesEncrypt(crypt)); private byte[] aesEncrypt(string […]

UWP:AES加密和解密

我有一个简单的类来为Windows Phone 8做一些基本的本地加密。我想在Windows Store的新UWP Windows 10应用程序中再次使用该类。 不幸的是我不能再使用AesManaged类了。 我试图使用Windows.Security.Cryptography.Core ,但我完全卡住了。 这是我用于Windows Phone 8的原始类。我必须在互联网上的某个地方找到它。 using System.Security.Cryptography; namespace TestGame { public class AesEnDecryption { private string AES_Key = “MYLiSQ864FhDevJOeMs9EVp5RmfC7OuH”; private string AES_IV = “FoL5Tyd9sZclVn5A”; public string AES_encrypt(string Input) { var aes = new AesManaged(); aes.KeySize = 128; aes.BlockSize = 128; aes.Key = Convert.FromBase64String(AES_Key); aes.IV = Encoding.UTF8.GetBytes(AES_IV); var encrypt […]

如何使用AES(Rijndael)检查文件是否加密

我在C#中使用’RijndaelManaged’和’CryptoStream’类来加密文件。 在加密文件之前,我想检查文件是否已加密。 我尝试使用File.GetAttributes()方法来检查加密,但它无法正常工作。 我需要一些提示,我可以检查文件是否已加密。

用PHP重写Rijndael 256 C#加密代码

我有一个用C#编写的加密/解密算法 – 我需要能够在PHP中生成相同的加密,这样我就可以通过HTTP发送加密文本,在C#端解密。 这是加密的C#代码。 this.m_plainText = string.Empty; this.m_passPhrase = “passpharse”; this.m_saltValue = “saltvalue”; this.m_hashAlgorithm = “SHA1”; this.m_passwordIterations = 2; this.m_initVector = “1a2b3c4d5e6f7g8h”; this.m_keySize = 256; public string Encrypt() { string plainText = this.m_plainText; string passPhrase = this.m_passPhrase; string saltValue = this.m_saltValue; string hashAlgorithm = this.m_hashAlgorithm; int passwordIterations = this.m_passwordIterations; string initVector = this.m_initVector; int keySize […]

如何在没有IV的情况下使用AES 128加密和解密?

我目前需要一种方法来加密字符串并使用AES-128对称加密在C#中解密字节数组。 我找不到办法怎么做,但也许我错过了什么。

如何在C#中使用AES加密,以便我可以在PHP中解密它?

我在PHP中找到了一些加密的答案,在C#中找到了Decrypt的答案,但目前还无法扭转这个过程…… 背景是我想: 在C#中:AES加密文件的内容。 将数据(可能通过POST通过POST)上传到服务器。 在PHP中:接收并保存文件。 在PHP中(以后):解密文件。 我特别想在使用SSL / TLS之外加密它(虽然我可能也必须这样做),因为我需要知道文件在存储在服务器上时仍然是加密的(并且可以解密!)。 要在C#中加密,我正在使用: Rijndael RijndaelAlg = Rijndael.Create(); RijndaelAlg.KeySize = 128; RijndaelAlg.Mode = CipherMode.CBC; CryptoStream cStream = new CryptoStream(fStream, RijndaelAlg.CreateEncryptor(Key, IV), CryptoStreamMode.Read); 并在PHP中解密: mcrypt_cbc(MCRYPT_RIJNDAEL_128, $key, $buffer, MCRYPT_DECRYPT, $iv);

C#AES:加密文件导致“要加密的数据长度无效。”错误

我有一个PDF文件。 当我想使用下面的代码加密它时,要加密Length of the data to encrypt is invalid. 发生了错误: string inputFile = @”C:\sample.pdf”; string outputFile = @”C:\sample_enc.pdf”; try { using (RijndaelManaged aes = new RijndaelManaged()) { byte[] key = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; byte[] iv = { 0, 1, 2, […]

对大文件进行AES加密

我需要加密和解密大文件(~1GB)。 我尝试使用这个例子: http : //www.codeproject.com/Articles/769741/Csharp-AES-bits-Encryption-Library-with-Salt但我的问题是因为文件非常大,我得到outOfMemoryexception。 所以我需要用文件流替换内存流,我只是不知道该怎么做… (添加我的代码:) private static void AES_Encrypt(string srcFile, string encryptedFile, byte[] passwordBytes) { // Set your salt here, change it to meet your flavor: // The salt bytes must be at least 8 bytes. byte[] saltBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8}; FileStream fsInput = […]

填充无效且无法删除使用“AesManaged”C#解密字符串时出现exception

请建议我在哪里需要更新/重构代码以摆脱exception。 我尝试使用以下代码解密加密字符串时出现exception。 以下行抛出exception using (StreamReader srDecrypt = new StreamReader(csDecrypt)) { // Read the decrypted bytes from the decrypting stream // and place them in a string. plaintext = srDecrypt.ReadToEnd(); } public string EncryptAuthenticationTokenAes(string plainText) { byte[] encrypted; // Create an AesManaged object // with the specified key and IV. using (AesManaged aesAlg = new AesManaged()) […]