Tag: 加密

在C#中加密SQLite数据库

在.Net / C#中加密SQLite数据库文件的最佳方法是什么? 我正在使用sqlite-dotnet2包装器。 有像SQLite加密扩展和SQLite Crypt这样的工具,但两者都是非自由的,而我的项目是在GPL下。 我想要使​​用的天真方法是让SQLite处理一个临时文件,然后在程序退出时对其进行加密,并覆盖(清零)原始文件。 明显的缺点是,如果程序崩溃(并且在运行时),则可以访问纯文本DB。 有没有更好的方法来解决这个问题? 我可以将加密流传递给包装器(而不是使用SQLiteConnection.CreateFile)吗? [编辑]也许我在思考这个问题。 是否足以在连接字符串中使用密码选项? 在这种情况下,文件是否会被正确加密(或者是一些较弱的保护)?

如何将此C#Rijndael加密转换为PHP?

关于SO已经有一些有用的问题了: Rijndael 256在c#和php之间加密/解密? 用PHP重写Rijndael 256 C#加密代码 Rijndael / AES解密C#到PHP的转换 但是我的特殊情况仍然存在困难。 我尝试了各种方法,但最终得到错误”The IV parameter must be as long as the blocksize”或与结果散列不匹配的文本。 我不明白加密能够解决我做错的事情。 这是php版本: $pass = ‘hello’; $salt = ‘application-salt’; echo Encrypt(‘hello’, ‘application-salt’); function Encrypt($pass, $salt) { $derived = PBKDF1($pass, $salt, 100, 16); $key = bin2hex(substr($derived, 0, 8)); $iv = bin2hex(substr($derived, 8, 8)); return mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $pass, […]

解码/解密期间Base-64字符数组的长度无效

问:我面临以下大问题: 从时间到另一个我发现以下exception: Base-64 char数组的长度无效 我使用加密和解密: public static string Encrypt(string text) { try { key = Encoding.UTF8.GetBytes(stringKey.Substring(0, 8)); DESCryptoServiceProvider des = new DESCryptoServiceProvider(); Byte[] byteArray = Encoding.UTF8.GetBytes(text); MemoryStream memoryStream = new MemoryStream(); CryptoStream cryptoStream = new CryptoStream(memoryStream,des.CreateEncryptor(key, IV), CryptoStreamMode.Write); cryptoStream.Write(byteArray, 0, byteArray.Length); cryptoStream.FlushFinalBlock(); return Convert.ToBase64String(memoryStream.ToArray()); } catch (Exception ex) { string message = ex.Message; } return […]

整数ID混淆技术

我正在寻找一种简单且可逆的混淆整数ID的方法。 理想情况下,我希望得到的混淆最多为8个字符长度和非顺序,这意味着“1”的混淆应该看起来不像“2”的混淆,依此类推。 这并不意味着任何方式都是安全的,所以这不是一个大问题。 另外,我将要混淆的整数并不大 – 介于1到10,000之间 – 但我也不想要任何碰撞。 是否有人对符合此标准的内容有任何想法?

.NET和Javascript中的简单字符串加密

我正在开发一个ASP.NET MVC应用程序,其中我想使用C#加密服务器上的短字符串,并将其发送到客户端。 然后在客户端,它将通过Javascript代码解密。 有关如何实现这一点的任何想法? 您是否知道一种简单的加密算法(不必是防弹安全的),可以很容易地从C#转换为Javascript,反之亦然? 注意:我可以在C#中完全执行此操作并通过Ajax进行解密,但我不希望这样做,因为我希望尽可能减少网站流量。

如何在C#中实现Triple DES(完整示例)

我想在C#中使用三重DES来加密/解密带有任意长度(utf8)密钥的(utf8)字符串。 我正在寻找这三个function public static string Encrypt(string data, string key) { … } public static string Decrypt(string data, string key) { … } public static string GenerateKeyFromString(string str) { … } 注意:在有人链接之前, http://www.geekzilla.co.uk/view7B360BD8-A77C-4F1F-BCA0-ACD0F6795F61.htm实现不起作用,我已对其进行了全面测试。 我已经做了很多搜索,发现了像EncryptOneBlock和其他问题的一些问题,但我正在寻找一个完整的’for dummies’实现,我认为这对其他人也有用。 提前致谢!

.NET中的对称加密/解密

我正在使用C#中的对称加密/解密例程。 我知道之前有关于这个主题的一些问题,但大多数答案似乎是关于加密的哲学,而不是给出实际的代码。 更新:我真的很想看到一些代码,而不仅仅是链接。 非常感谢!

如何在Delphi中使用密码对AES-128加密字符串并在C#中解密?

我想用AES-128用密码加密Delphi中的字符串。 我想将它上传到我的服务器,并能够在C#中使用相同的密码进行解密。 在Delphi中,我使用的是TurboPower LockBox 3: function EncryptText_AES_128(input: string; password: string): string; var Codec: TCodec; CipherText: AnsiString; begin Codec := TCodec.Create(nil); try Codec.CryptoLibrary := TCryptographicLibrary.Create(Codec); // Codec.StreamCipherId := BlockCipher_ProgID; Codec.BlockCipherId := Format(AES_ProgId, [128]); Codec.ChainModeId := CBC_ProgId; // Codec.Password := Password; Codec.EncryptString(input, CipherText); // Result := string(CipherText); finally Codec.Free; end; end; 如何在C#中解密生成的字符串? 我可以改变Delphi代码。 什么都没有生产。 我甚至没有坚持使用LockBox。 但是,我想避免将它放在P / […]

在C#中计算来自未知长度的流的哈希

在C#中计算“动态”md5的最佳解决方案是什么,就像未知长度的流的哈希一样? 具体来说,我想根据通过网络收到的数据计算哈希值。 我知道当发件人终止连接时我已收到数据,所以我不知道提前的长度。 [编辑] – 现在我正在使用md5,但这需要在数据保存并写入磁盘后再次传递数据。 当它从网络进入时,我宁愿哈希它。

加密Web.Config

用于部署.NET和加密配置文件以进行部署的加密配置文件重复 在web.config文件中加密信息的最佳方法和工具是什么?