目前我用明文哎呀写它!,这是一个内部计划所以它并没有那么糟糕,但我想做得对.在写入注册表时我应该如何加密这个以及如何解密呢?
OurKey.SetValue("Password", textBoxPassword.Text);
Run Code Online (Sandbox Code Playgroud) 我正在创建一个Web应用程序,它将使用OpenID登录和OAout令牌与Youtube.我目前正在数据库中以纯文本格式存储OpenID标识和OAuth令牌/令牌密钥.
将这些值存储为纯文本是否不合适?我可以对OpenID标识符使用单向加密,但我不知道是否有必要.对于OAuth令牌,我需要使用双向加密,因为我的应用程序依赖于获取某些用途的会话令牌.
是否有必要加密OpenID身份?有人可以使用它来访问用户的帐户吗?
安全合法地存储信用卡信息非常困难,不应该尝试.我无意存储信用卡数据,但我很想弄清楚以下内容:
我的信用卡信息存储在世界上某个地方的服务器上.该数据(希望)不会存储在商家的服务器上,但在某些时候需要存储该数据以验证和收取由商家提交的数据识别的帐户.
我的问题是:如果您的任务是存储信用卡数据,您将使用哪种加密策略来保护磁盘上的数据?据我所知,提交的信用卡信息正在或多或少地实时检查.我怀疑用于保护数据的任何加密密钥都是手动输入的,因此解密正在进行中,这意味着密钥本身存储在磁盘上.您如何在这样的自动化系统中保护您的数据和密钥?
如果我对AES加密文件,然后对其进行ZLIB压缩,那么压缩效率是否会低于我先压缩然后加密的效率?
换句话说,我应该先压缩还是首先加密,还是重要?
我在使用身份验证的MVC 4站点上工作.该站点要求我指定机器密钥值.我通过IIS接口取消选择"在运行时自动生成",生成键值并选择"为每个应用程序生成唯一键"
web.config条目如下所示:
<machineKey decryption="DES" decryptionKey="{hex-key value},IsolateApps"
validationKey="{hex-key value},IsolateApps" />;
Run Code Online (Sandbox Code Playgroud)
虽然这似乎在另一个Web项目上正常工作,但它导致我正在处理的开发机器上的"解密密钥指定了无效的十六进制字符"错误(在IIS-Express和IIS 7.5中).
",IsolateApps"从键值中删除可以解决问题,但由于我在生产中需要这个选项,所以我现在不想删除它只是为了在部署时遇到这个问题.
是什么赋予了?开发框是一个带有.net 2.0和.net 4.0的SQL 2008 R2框.
之间有什么区别.pem,.cer和.der?
据我所知,.cer包含公钥.是否有任何开放式框架可用于使用此公钥加密我的数据?
有没有办法隐藏或加密JavaScript代码,以防止人们查看,复制和/或修改专有程序?
我写了一个简短的C++程序来对一个文件进行XOR加密,我可以将它用于一些个人文件(如果它被破解它没什么大不了的 - 我只是在防范偶然的观众).基本上,我使用ASCII密码并使用文件中的数据重复XOR密码.
但现在我很好奇:如果有人想破解这个问题,他们会怎么做呢?需要很长时间吗?它取决于密码的长度(即什么是大O)?
我盯着这看了很长一段时间,感谢MSDN文档我无法弄清楚到底发生了什么.基本上我正在将光盘中的PFX文件加载到a中,X509Certificate2并尝试使用公钥加密字符串并使用私钥解密.
为什么我感到困惑:加密/解密在我将引用传递给RSACryptoServiceProvider自身时起作用:
byte[] ed1 = EncryptRSA("foo1", x.PublicKey.Key as RSACryptoServiceProvider);
string foo1 = DecryptRSA(ed1, x.PrivateKey as RSACryptoServiceProvider);
Run Code Online (Sandbox Code Playgroud)
但如果出口和传递RSAParameter:
byte[] ed = EncryptRSA("foo", (x.PublicKey.Key as RSACryptoServiceProvider).ExportParameters(false));
string foo = DecryptRSA(ed, (x.PrivateKey as RSACryptoServiceProvider).ExportParameters(true));
Run Code Online (Sandbox Code Playgroud)
...它会抛出"密钥无法在指定状态下使用".尝试将私钥导出到的异常RSAParameter.请注意,生成PFX的证书标记为可导出(即我在创建证书时使用了pe标志).知道导致异常的是什么吗?
static void Main(string[] args)
{
X509Certificate2 x = new X509Certificate2(@"C:\temp\certs\1\test.pfx", "test");
x.FriendlyName = "My test Cert";
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
try
{
store.Add(x);
}
finally
{
store.Close();
}
byte[] ed1 = EncryptRSA("foo1", x.PublicKey.Key as RSACryptoServiceProvider); …Run Code Online (Sandbox Code Playgroud) OpenSSL为AES加密提供了一种流行的(但不安全 - 见下文!)命令行界面:
openssl aes-256-cbc -salt -in filename -out filename.enc
Run Code Online (Sandbox Code Playgroud)
Python以PyCrypto包的形式支持AES,但它只提供工具.如何使用Python/PyCrypto解密使用OpenSSL加密的文件?
此问题过去也涉及使用相同方案的Python加密.我已经删除了那部分以阻止任何人使用它.不要以这种方式加密任何数据,因为它不符合今天的标准.你应该只使用解密,除了后向兼容性之外没有其他原因,即当你别无选择时.想要加密?如果可能的话,使用NaCl/libsodium.
encryption ×10
security ×3
aes ×2
c# ×2
cryptography ×2
rsa ×2
.net ×1
asp.net-mvc ×1
compression ×1
credit-card ×1
database ×1
javascript ×1
machinekey ×1
oauth ×1
obfuscation ×1
openid ×1
openssl ×1
passwords ×1
performance ×1
pycrypto ×1
python ×1
xor ×1
zlib ×1