我使用"BouncyCastle.Crypto.dll"来加密/解密我的应用程序中的字符串.我正在使用此博客中的以下代码:
我有一个BCEngine类,与上面提到的链接完全相同.
public class BCEngine
{
private readonly Encoding _encoding;
private readonly IBlockCipher _blockCipher;
private PaddedBufferedBlockCipher _cipher;
private IBlockCipherPadding _padding;
public BCEngine(IBlockCipher blockCipher, Encoding encoding)
{
_blockCipher = blockCipher;
_encoding = encoding;
}
public void SetPadding(IBlockCipherPadding padding)
{
if (padding != null)
_padding = padding;
}
public string Encrypt(string plain, string key)
{
byte[] result = BouncyCastleCrypto(true, _encoding.GetBytes(plain), key);
return Convert.ToBase64String(result);
}
public string Decrypt(string cipher, string key)
{
byte[] result = BouncyCastleCrypto(false, Convert.FromBase64String(cipher), key);
return …Run Code Online (Sandbox Code Playgroud)我被要求在一个涉及 Windows 8 加密的项目中执行一项任务。
场景是这样的:
我byte[]从服务器得到一个,前 16 个字节是IV,接下来的 128 个是Salt,其余的是文件本身。
然后用户提供一个密码,并使用该密码和盐,我应该创建一个 PKCS5 密钥,迭代 40 次,密钥长度应为 32 字节。
现在我已经拆分了byte[]我需要的 3 个,但我不知道其余的在 Windows C# 中是如何完成的。
c# encryption cryptography windows-runtime windows-store-apps