Tag: 编码

C#Hash SHA256Managed不等于TSQL SHA2_256

我使用哈希密码和盐(用户名)。 问题是c#的散列值不等于我通过TSQL脚本添加到数据库的初始值。 TSQL: UPDATE [Users] SET Password = HASHBYTES(‘SHA2_256’, ‘test123’+UPPER([UserName])) GO; C#: var passBytes = new UnicodeEncoding().GetBytes(pass); var saltBytes = new UnicodeEncoding().GetBytes(userName.ToUpper()); var dataToHash = new byte[passBytes.Length + saltBytes.Length]; Array.Copy(passBytes, dataToHash, passBytes.Length); Array.Copy(saltBytes, dataToHash, saltBytes.Length); var sha = new SHA256Managed(); return sha.ComputeHash(dataToHash); 我想这与编码有关。 但我不知道如何解决这个问题。 UserName是varchar(50) DB是现有的,因此更改varchar将不那么容易。 我已经尝试过: UPDATE [Users] SET Password = HASHBYTES(‘SHA2_256’, N’test123’+UPPER([UserName])) GO;

使用Codedom生成C#自动属性

有没有办法使用Codedom生成C#自动属性, 或者我可以使用其他一组libreries?

确定PayPal IPN使用的编码方式?

我在使用PayPal IPN时遇到了一些问题。 该文档使用ASCII编码。 我使用的是UTF-8 。 它工作正常但作为一个罕见的情况我得到一些随机字符。 据我所知,可以为不同的编码设置Paypal帐户。 有什么方法可以识别吗? 或者是否有处理所有案例的标准方法。

有没有像“用户定义的编码回退”这样的事情

使用ASCII编码并将字符串编码为字节时, ö字符会导致? 。 Encoding encoding = Encoding.GetEncoding(“us-ascii”); // or Encoding encoding = Encoding.ASCI; data = encoding.GetBytes(s); 我正在寻找一种方法来替换不同的字符,而不仅仅是一个问号。 例子: ä -> ae ö -> oe ü -> ue ß -> ss 如果不能用一个字符替换一个字符,我会接受,如果我甚至可以用一个字符替换它们( ö – > o ) 现在有几个EncoderFallback实现,但我不明白它们是如何工作的。 一个快速而肮脏的解决方案是在将字符串提供给Encoding.GetBytes()之前替换所有这些字符,但这似乎不是“正确”的方式。 我希望我能给出编码对象的替换表。 我怎么能做到这一点?

从Server.UrlEncode获取字符串为大写

我希望它的输出为大写。 这是我在Server.UrlEncode(“http://”) : http%3a%2f%2f 但是我需要: http%3A%2F%2F C#中有内置的解决方案吗? 编码的url应作为签名基本字符串(输入到签名算法)来创建摘要(哈希)。 然后哈希将由其他系统(java,php等)validation,因此他们需要首先通过签名重建来重新创建哈希。

C#方法做URL编码?

我可以用什么c#类方法对URL字符串进行URL编码? 在我的用例中,我想将URL字符串作为URL参数本身传递。 就像在url中埋设URL一样。 没有一些编码“&”和“?” 处理外部Url参数的参数时,可以获取内部URL中的字符 谢谢

在Java中编码base64并在C#中解码

我在java和c#之间遇到问题,我将编码的字符串从java urlconnection发送到asp.net处理程序,我比较两个字符串,从字节数组中生成的字符串和在asp.net首次解码时收到的字符串是相同但在解码后,c#中的字节数组与java中的字节数组相等。 我正在使用新的sun.misc.BASE64Encoder()。encode(javabytearray); 在java和System.Convert.FromBase64String(encodedstring); 在dotnet。 来自java:“[0] [-24] [56] [1] [-56] [41] [-29] ………” 到dotnet:“[0] [232] [56] [1] [200] [41] [227] ………” 类似: 用Java编码base64并用C#解码 我无法在上面问这个问题,因为它是一个问答网站,每次必须创建一个新问题时,都无法在另一个问题中提出问题。 非常感谢

在c#中编码和解码是否安全?

在c#中,我可以通过Encoding.UTF8.GetString()编码二进制数据,然后通过binary = Encoding.UTF8.GetBytes()将其转换回来。 我希望结果在任何情况下都应该是我原来的二进制数据 – 没有例外。 但无论如何这是真的吗? 或者它取决于UTF8字符集的特定行为? 或者我应该更好地使用Encoding.ASCII.GetString()和Encoding.ASCII.GetBytes() ? 如果有人知道Encoding究竟做了什么(它如何处理特殊字符或特殊字节)那么请给我建议。

如何使用streamreader使用当前编码读取byte

我想用C#读取byte[]和当前的文件编码。 正如在MSDN中编写的那样,当构造函数没有编码时,默认编码将是UTF-8: var reader = new StreamReader(new MemoryStream(data)). 我也试过这个,但仍然把文件作为UTF-8: var reader = new StreamReader(new MemoryStream(data),true) 我需要用当前编码读取byte[] 。

使用ExtractToDirectory方法解压缩会扭曲非拉丁符号

我有几个文件夹,一些文件夹的名称中包含非拉丁符号(在我的情况下是俄语)。 此文件夹正在“D:\ test.zip”中发送到zip存档(由Windows资源管理器)。 然后我执行方法 ZipFile.ExtractToDirectory(@”D:\test.zip”, @”D:\result”); 它成功地解压缩了所有内容,但所有非拉丁符号都变成了错误。 例如,我得到了“D:\ result \ЄбЄ¤л\ file.txt”而不是“D:\ result \ каскады\ file.txt” 。 我的系统的默认编码是windows-1251 ,我通过将Encoding.GetEncoding(“windows-1251″)纳入ExtractToDirectory第三个参数并获得相同的结果来validation。 我也试过UTF-8 ,但在路径中有另外的文物( “D:\ result \ ᪠ \ file.txt” )。 尝试使用Unicode返回有关不支持编码的消息。 当我通过执行方法通过代码创建相同的存档时 ZipFile.CreateFromDirectory(@”D:\zipdata”, @”D:\test.zip”); 然后,即使没有指定特定的编码,也可以使用与问题顶部相同的代码行解压缩。 问题是:如何从存档中获取正确的编码以便在ExtractToDirectory方法中应用它,因为在实际任务存档中来自外部源并且我不能依赖于它“通过手”或编程创建的位置? 编辑 有问题 ,非拉丁符号(中文)也会引起问题,但这个事实就像解决问题一样,而这对我的情况来说确实是个问题。