jjzjj

Cryptography

全部标签

c# - 检查给定的可执行文件是否经过数字签名且有效?

在我的C#/.NET应用程序中,我必须检查给定的可执行文件是否经过数字签名(最好没有异常测试。)然后我需要检查其证书是否有效(基于已安装的根证书)以及文件内容是否对签名有效.BCL中的类太多了,我不知道从哪里开始以及使用什么,到目前为止我发现的任何东西都不能消除我的困惑...我想做这样的事情,没有如果可能P/Invoke:boolIsSignedFile(stringpath);CertGetCertificateFromSignedFile(stringpath);boolIsValidCertificate(Certcert)SigGetSignatureFromSignedFil

c# - System.Security.Cryptography 与 Windows.Security.Cryptography

我是一名新的Windows8开发人员,我有一些代码是为Linux设计的,但只要安装了GTK#也可以在Windows上运行。我目前正在将该应用程序作为现代UI(Metro)应用程序移植到Windows8。一切顺利,除了,当我尝试导入我的key派生代码(获取用户密码并从中派生key256位key)时,VisualStudioUltimate2013指示它无法识别usingSystem.安全.密码学。在查看Windows8开发者网站后,我发现有一个新类Windows.Security.Cryptography可用,但是,VisualStudio似乎也无法识别它。那么,既然你已经有了背景,我有

c# - 写入流时计算哈希

我目前正在创建一个需要签名的加密文件格式。为此,我需要计算已写入流的内容的哈希码。在.netframework中有很多hash算法可以使用,而且效果很好,但是需要我处理3次stream。byte[]content=newbyte[]{0,1,2,3,4,5,6};using(StreamfileStream=File.Open("myfile.bin",FileMode.Create)){//WritecontentfileStream.Write(content,0,content.Length);}byte[]hashValue=null;using(StreamfileStrea

c# - BouncyCaSTLe PrivateKey 到 X509Certificate2 PrivateKey

我使用BouncyCaSTLe创建证书varkeypairgen=newRsaKeyPairGenerator();keypairgen.Init(newKeyGenerationParameters(newSecureRandom(newCryptoApiRandomGenerator()),1024));varkeypair=keypairgen.GenerateKeyPair();vargen=newX509V3CertificateGenerator();varCN=newX509Name("CN="+certName);varSN=BigInteger.ProbablePri

c# - Convert.ToBase64String/Convert.FromBase64String 和 Encoding.UTF8.GetBytes/Encoding.UTF8.GetString 的区别

我目前正在学习.NET中的对称密码学。我写了一个演示如下:privatebyte[]key=Encoding.ASCII.GetBytes("abcdefgh");privatebyte[]IV=Encoding.ASCII.GetBytes("hgfedcba");privatebyte[]encrypted;publicForm1(){InitializeComponent();}privatevoidbtnEncrypt_Click(objectsender,EventArgse){this.textBox2.Text=this.Encrypt(this.textBox1.Tex

c# - .NET 加密类的线程安全性?

我有一个高级目标,即创建一个static实用程序类来封装我的.NET应用程序的加密。在内部,我想尽量减少不必要的对象创建。我的问题是:在.NETFramework中实现对称加密的类的线程安全性是什么?特别是System.Security.Cryptography.RijndaelManaged和ICryptoTransform它生成的类型。例如,在我的类构造函数中,我可以简单地按照以下几行做一些事情吗?staticMyUtility(){using(RijndaelManagedrm=newRijndaelManaged()){MyUtility.EncryptorTransform=

c# - RandomNumberGenerator 与 RNGCryptoServiceProvider

根据RandomNumberGenerator的MSDN文档:Applicationcodedoesnotdirectlyusethisclass.Thisabstractclassisprovidedasthebaseclassforallcryptographicrandomnumbergenerators.Foranimplementationofacryptographicrandomnumbergenerator,usethederivedclassRNGCryptoServiceProvider.但是,我在不同的代码库中看到了以下代码在一些场合的使用:byte[]bytes

c# - 如何用 'System.Security.Cryptography.AesManaged'加密一个byte[]?

基本上我想使用System.Security.Cryptography.AesManaged(或者更好的类,如果你认为有一个?)使用给定的对称key获取一个字节数组并创建另一个加密的字节数组(我假设我需要一个吗?)。我还需要逆向这个过程的方法。这样做的目的是让我可以加密存储的密码。我假设有一种简单的方法可以做到这一点?谢谢 最佳答案 编辑:你真的应该在每次加密时生成一个随机IV,这与我下面的古老代码不同:这是我最后所做的,灵感来自(旧版本的)迈克尔的回答:privatestringEncrypt(stringinput){retur

c# - 如何在 .NET 中加密字符串?

这个问题在这里已经有了答案:EncryptanddecryptastringinC#?[closed](29个答案)关闭7年前。我必须加密/解密Xml文件中的一些敏感信息?是的,我可以通过编写自己的自定义算法来做到这一点。我想知道.NET中是否已经有内置的方式来执行此操作,以及我始终需要注意哪些要点..

c# - 如何在 C# 中实现三重 DES(完整示例)

我想在C#中使用三重DES使用任意长度的(utf8)key对(utf8)字符串进行加密/解密。我正在寻找这三个函数publicstaticstringEncrypt(stringdata,stringkey){...}publicstaticstringDecrypt(stringdata,stringkey){...}publicstaticstringGenerateKeyFromString(stringstr){...}注意:在任何人链接到它之前,http://www.geekzilla.co.uk/view7B360BD8-A77C-4F1F-BCA0-ACD0F6795F6