草庐IT

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

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

c# - 在 C# 中从十六进制到字节的最轻量级转换?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:HowdoyouconvertByteArraytoHexadecimalString,andviceversa?我需要一种高效快速的方法来进行这种转换。我尝试了两种不同的方法,但它们对我来说效率不够。对于具有海量数据的应用程序,是否有任何其他快速方法可以实时完成此操作?publicbyte[]StringToByteArray(stringhex){returnEnumerable.Range(0,hex.Length/2).Select(x=>Byte.Parse(hex.Substring(2*x,2),

c# - 将 C# 字节转换为 BitArray

是否有任何预定义函数可用于将byte转换为BitArray?一种方法是检查byte值的每一位,然后执行按位操作。我想知道是否有比这更直接的方法。 最佳答案 是的,使用适当的BitArray()constructor如所述here:varbits=newBitArray(arrayOfBytes);您可以使用newBitArray(newbyte[]{yourBite})调用它来创建一个字节的数组。 关于c#-将C#字节转换为BitArray,我们在StackOverflow上找到一个类似

c# - Bouncy CaSTLe C# 中的 PBKDF2

我一直在研究C#BouncyCaSTLeAPI以了解如何执行PBKDF2key派生。我现在真的是一头雾水我尝试通读Pkcs5S2ParametersGenerator.cs和PBKDF2Params.cs文件,但我真的不知道该怎么做。根据我目前所做的研究,PBKDF2需要一个字符串(或char[]),它是密码、salt和迭代计数。到目前为止,我最有前途和最明显的是PBKDF2Params和Pkcs5S2ParametersGenerator。这些似乎都不接受字符串或char[]。有没有人用C#做过这个或者对此有任何线索?或者有人已经用Java实现了BouncyCaSTLe并且可以提供帮

c# - 从 File.ReadAllBytes (byte[]) 中删除字节顺序标记

我有一个HTTPHandler,它正在读取一组CSS文件并组合它们,然后对它们进行GZip压缩。但是,某些CSS文件包含字节顺序标记(由于TFS2005自动合并中的错误),并且在FireFox中,BOM被读取为实际内容的一部分,因此它搞砸了我的类名等。我如何去除出BOM字符?有没有一种简单的方法可以做到这一点,而无需手动遍历字节数组寻找“”? 最佳答案 扩展Jon'scomment带sample。varname=GetFileName();varbytes=System.IO.File.ReadAllBytes(name);S

c# - 字节 [] 的 Varbinary 文本表示

在C#中,如何将SQLServerManagementStudio显示的文本输出作为varbinary列的内容,并将该文本转换为存储在该列中的byte[]? 最佳答案 好的,所以您想复制并粘贴在SSMS中显示的varbinary列的值(例如“0x6100730064006600”),并在C#中从中获取byte[]?这很简单-0x之后的部分只是十六进制值(每个2个字符)。因此,您获取每一对,将其转换为指定基数为16(十六进制)的数字,并将其添加到列表中,如下所示:stringstringFromSQL="0x6100730064006

c# - 背靠背 for 循环中的 int、short、byte 性能

(背景:WhyshouldIuseintinsteadofabyteorshortinC#)为了满足我自己对使用“适当大小”整数与“优化”整数的优缺点的好奇心,我编写了以下代码,这些代码强化了我之前对.Net中的int性能的看法(并对此进行了解释在上面的链接中)这是针对int性能而不是short或byte进行了优化。DateTimet;longa,b,c;t=DateTime.Now;for(intindex=0;index这在......方面给出了大致一致的结果~950000~2000000~1700000这符合我的预期。然而,当我尝试像这样为每种数据类型重复循环时......t=D

c# - 将 bool 转换为 byte 的最快方法是什么?

将bool转换为byte的最快方法是什么?我想要这个映射:False=0,True=1注意:我不想使用任何if语句或其他条件语句。我不希望CPU停止或猜测下一条语句。更新:对于那些想了解这个问题的人。此示例显示如何从代码中减少两个if语句。byteA=k>9;//Ifitwaspossible(k>9)==0||1c[i*2]=A*(k+0x37)-(A-1)*(k+0x30); 最佳答案 使用不安全代码这个方法非常快。启用优化后,它比条件运算符快约30%。boolinput=true;bytevalue=*((byte*)(&in

c# - 为什么从 byte 到 sbyte 的转换会为优化代码提供错误的值?

安装NUnit3后,可以使用以下代码示例重现该问题。[TestFixture]publicclassSByteFixture{[Test]publicvoidTest(){vardata=newbyte[]{0xFF};sbytex=-128;data[0]=(byte)x;byteb1=data[0];varb2=(sbyte)b1;Assert.AreEqual(b1.ToString(),"128");Assert.AreEqual(b2.ToString(),"-128");}}该项目应该是一个类库,因为在控制台应用程序中它是不可复制的。应该启用优化,即csproj文件中的以下

C# - 将不安全的 byte* 转换为 byte[]

我有一个unsafebyte*指向已知长度的native字节数组。如何将其转换为byte[]?指向零终止native字符串的unsafesbyte*可以很容易地转换为C#string,因为有一个conversionconstructor为此目的,但我找不到将byte*转换为byte[]的简单方法。 最佳答案 如果ptr是您的不安全指针,并且数组的长度为len,您可以像这样使用Marshal.Copy:byte[]arr=newbyte[len];Marshal.Copy((IntPtr)ptr,arr,0,len);但我确实想知道您