jjzjj

cryptography

全部标签

c# - 如何验证签名的 XML 文件签名

我有一个使用SignedXml创建的文件“普通”.NET框架中的类。它使用RSA算法签名。我想在WindowsRT应用程序中使用XDocument检查其签名,最好的方法是什么?移植一些加密库还是有其他替代方案? 最佳答案 最初这是我的问题,我不知道为什么我的帐户从网站上被删除了。希望版主可以帮助解决这个问题。@borrel,可能我没有看得太深,但无论如何,如果您正在开发可移植的东西以使其在WindowsPhone8上运行,那么这个东西对您来说不存在。NoSignedXmlinwinrt我找到了答案,所以步骤是1)您必须计算XML数据

c# - 为什么我的解密文本中出现随机字符?

介绍我正在尝试加密和解密文本,有时,尤其是对于较大的文本,解密文本中会出现随机字符。我在System.Security.Cryptography命名空间内使用AES密码术,我现在尝试加密的文本将是一个URL和一些信息,例如页面标题。我在下面提供了一个示例以及我尝试过的内容。我还编写了两种加密和解密方法,减去了输出到调试窗口的任何行。使用的Key和IV应该不是问题,因为目前它们是不变的。我认为明智的做法是指出它按预期在单独的事件中加密和解密18/01/2013;18/01/2013。例子假设我想解密这段文字:BarnabeGooges信息和主页|在BarnabeGooge.com上搜索和

c# - 在 C# 中保护加密 key

我了解.NET框架中提供的许多加密提供程序以及如何使用它们的基础知识。这很简单。但我担心的是这个。假设我想使用这些库来加密XML序列化对象,以防止篡改和任何人查看这些文件内容的能力。我经常遇到的问题是解密此数据的key需要作为常量存储在我的应用程序中的某处。基本上使整个练习变得毫无意义。那么,如何在可反汇编的应用程序中安全地存储加密算法的key?编辑:所以如果我正确理解下面的两个答案。这意味着基本上任何实现(为了安全)都要求它是只读的或只写的,但不能两者兼而有之?这是正确的吗? 最佳答案 你不知道。如果应用程序可以访问key,那么它

c# - 在 C# 中生成唯一的 * 和 * 随机 URL

我的最终目标是创建一个独一无二且无法猜测/预测的URL。此URL的目的是允许用户执行验证其电子邮件地址和重置密码等操作。这些URL将在设定的时间(当前设置为24小时)内过期。我最初是为此目的使用Guid,但我现在明白这介于“还好”和“非常不安全”之间,具体取决于您听哪位专家的意见。所以,我想我会加强我的代码,以防万一。起初我以为我会坚持使用Guid,但它是从随机字节而不是Guid.NewGuid()工厂方法生成的。这是我想出的方法:publicstaticGuidGetRandomGuid(){varbytes=newbyte[16];vargenerator=newRNGCrypto

c# - 解密异常 - 要解密的数据长度无效

我在C#应用程序中工作。我们有常用的方法将数据存储在文件中。这些方法加密数据并将它们存储在文件系统中。当我们需要数据时,ReadData方法会解密数据并返回纯文本。如果文本尺寸较小,此代码在正常情况下工作正常。但对于下面给出的示例文本,解密代码抛出异常-要解密的数据长度无效。异常发生在行//closetheCryptoStreamx_cryptostream.Close();我尝试了不同的方法,但没有成功。请帮忙。为什么我要加密已经加密的数据-我只是想使用大型应用程序的通用方法存储在一个文件中。常用方法storedata(key,data)和readdata(key)做我无法避免的加密

c# - Windows 中公钥和私钥容器的位置?

我正在尝试使用以下代码将我的公钥和私钥存储在容器中:CspParameterscp=newCspParameters();cp.KeyContainerName="Test";RSACryptoServiceProviderrsa=newRSACryptoServiceProvider(cp);我想知道的是容器的位置。容器在文件系统中的位置? 最佳答案 您将在以下目录(*)中找到key文件:Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonA

c# - HMACSHA256 和 HMACSHA512 之间的区别

我们使用以下代码在C#中针对敏感值生成HMac哈希publicstringGenerateHMac(stringkey,stringmessage){vardecodedKey=Convert.FromBase64String(key);varhasher=newHMACSHA256(decodedKey);varmessageBytes=Encoding.Default.GetBytes(message);varhash=hasher.ComputeHash(messageBytes);returnConvert.ToBase64String(hash);}传入的key是一个256位

c# - 以 "Managed"结尾的类名是什么意思 (C# .NET)?

我是C#的新手,所以请多多包涵。我了解托管代码和非托管代码之间的基本区别。但我仍然有点困惑何时使用某些方法。例如,“托管”一词在某些类名结尾中是什么意思。这是否意味着它们是受管理的,而其他的则不是?例如,Aes和AesManaged或者SHA512和SHA512Managed有什么区别?我知道您不能从托管类派生,但我只知道这些。还有什么时候应该使用“托管”类,例如什么时候选择Aes而不是AesManaged?(我已经在维基百科上阅读了托管代码的基础知识(here)并且还找到了关于托管代码基础知识的很好的解释(here)感谢您的宝贵时间和回答。 最佳答案

c# - 使用 RSA 公钥解密使用 RSA 私钥加密的字符串

我知道我可能得到的主要答案是你到底为什么要这么做?!不幸的是,尽管我抗议,但我还是不得不这样做,尽管我知道这毫无意义。我有一些用.Net编写的函数,可以使用私钥解密,使用公钥加密。我还对RSA进行了签名和验证,并且对我认为这一切的工作原理有一个合理的理解。我现在收到一个使用私钥进行RSA加密的值,我应该通过使用公钥解密来派生一个可用值。我似乎不知道该怎么做。我是白痴吗?这是正常的事情吗?给我发送值的人告诉我,这在PHP中没有问题。我不知道也没有使用过PHP。我找不到用我知道的任何主要语言(即C++、Java、C#)执行此操作的库。我正在使用的服务器使用.Net。我希望有人能帮助我。如果

c# - 存储 key 的最佳实践

我有一个asp.net应用程序,我想存储一个机器范围的加密key,我将在使用DPAPI加密系统时在应用程序中使用它。存储key的最佳做法是什么-我应该将它存储在哪里?谢谢。 最佳答案 将任何key以明文形式存储在任何非volatile和本质上不安全的介质(例如硬盘)中是非常不安全的。在此类介质上,您应该只存储key的签名加密版本,并且对加密key的写入访问应该受到保护。手头的实际工作是对安全需求建模,确定key管理策略和实现。 关于c#-存储key的最佳实践,我们在StackOverfl