我正在尝试构建一个可移植类库,该类库生成OAuthURL供其他类/应用程序使用。这个使用OAuth的类库必须是一个可移植类库,以便它可以与我正在构建的不同版本的DropBoxAPI一起使用。这个类的一部分需要生成一个SHA1散列来生成oauth_signature。我知道可移植类库不支持System.Security.Cryptography,那么这个类是否可以在没有该类的情况下生成SHA1哈希? 最佳答案 我认为最简单的方法是使用PCLCryptonuget包。然后你可以这样做:privatestaticstringCalcula
这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowdoIcreateaHashCodein.net(c#)forastringthatissafetostoreinadatabase?我使用C#4.0并通过调用获取字符串哈希:"mystring".GetHashCode()此调用生成的代码存储到数据库中以备将来使用。此哈希码用于查找字符串的某些子集,然后进行相等比较。问题是:它是标准化的哈希计算吗?我可以假设它是是否可以在不同的环境中计算相同的哈希值,例如.Net3.0中的C#或future的.Net版本?是否可以通过用Java、PL/SQL、Ruby
在常规C#应用程序中,哪个类用于哈希:xxxManaged或xxx(即SHA1Managed与SHA1)为什么? 最佳答案 以***Cng结尾的非托管哈希,即SHA256Cng,也会有平台限制。它们比托管替代方案快很多,但会在WindowsXP等运行时失败。如果您知道您的程序将始终在Windows7、VistaSP1或2008上运行,那么它们的性能通常会比托管版本好很多,即使有native互操作开销也是如此。如果您正在编写一个通用程序,***Managed类将更易于使用,因为它们将始终有效。
我有一个内部只是整数数组的类。一旦构造数组永远不会改变。我想预先计算一个好的哈希码,以便可以非常有效地将此类用作字典中的键。数组长度小于30项左右,整数一般在-1000到1000之间。 最佳答案 不是很聪明,但足以满足大多数实际目的:编辑:由于HenkHolterman的评论而更改,谢谢。inthc=array.Length;foreach(intvalinarray){hc=unchecked(hc*314159+val);}如果您需要更复杂的东西,lookhere. 关于整数数组的C
使用这个类publicclassFoo{publicstringc1,c2;publicFoo(stringone,stringtwo){c1=one;c2=two;}publicoverrideintGetHashCode(){return(c1+c2).GetHashCode();}}还有这个哈希集HashSetaFoos=newHashSet();FooaFoo=newFoo("a","b");aFoos.Add(aFoo);aFoos.Add(newFoo("a","b"));label1.Text=aFoos.Count().ToString();我得到的答案是2,而实际上它
我需要为包含一些文件的文件夹创建哈希。我已经为每个文件完成了这项任务,但我正在寻找一种方法来为文件夹中的所有文件创建一个散列。关于如何做到这一点有什么想法吗?(当然,我可以为每个文件创建哈希并将其连接到一些大哈希,但这不是我喜欢的方式) 最佳答案 这会散列所有文件(相对)路径和内容,并正确处理文件排序。而且速度很快-对于4MB的目录大约需要30毫秒。usingSystem;usingSystem.Text;usingSystem.Security.Cryptography;usingSystem.IO;usingSystem.Lin
如何正确编码包含哈希(#)的路径?请注意,哈希不是片段(书签?)指示符,而是路径名的一部分。例如,如果有这样一条路径:http://www.contoso.com/code/c#/somecode.cs例如当你尝试这样做时它会导致问题:UrimyUri=newUri("http://www.contoso.com/code/c#/somecode.cs");它似乎将散列解释为片段指示符。手动把#换成%23感觉不对。还有其他字符需要替换吗?Uri和HttpUtility中有一些转义方法,但似乎没有一个能解决问题。 最佳答案 有些字符您
大家好,我从PreferredMethodofStoringPasswordsInDatabase了解到存储密码的哈希值是安全的...如何使用C#对密码值进行加盐和哈希处理?如何比较数据库中存储的值和用户给定的值? 最佳答案 最流行的方法是使用散列算法。有一个很棒的blogposthere关于如何使用MD5算法对字符串进行哈希处理,但是System.Cryptography命名空间中还有许多其他示例。至于#2,有关其工作原理的一般分步指南如下:注册时:使用您指定的算法散列用户密码并将其存储在数据库中Salt这个散列(可选,但首选)登
在不滚动页面的情况下向url添加哈希?使用javascript我打开页面我向下滚动我点击添加散列的链接(可能带有值#test)(例如:http://www.example.com/#test)页面不得滚动回顶部。如何做到这一点?注意:只是检查是否有可能禁用运动,即使有一些带有id="test"的标签到目前为止返回错误;工作正常(支持没有javascript的人),也避免id在html中的存在,但它不是数字之类的问题,如1、2、3(它们无论如何都不允许作为id)所有的答案都很好,没有什么新的或突破性的,也没有关于如何破坏默认功能的解决方案,但它会起作用。:)感谢您花时间回答。
我有一个使用经常部署的webpack构建的内部应用程序。为了使错误报告更容易,我想包含webpack添加到包名称的构建哈希[hash]的环境变量。这将使我能够快速确定用户是否使用最新版本。使用DefinePlugin,以下内容不会插入字符串,而只是存储文字[hash]字符串。newwebpack.DefinePlugin({'process.env':{'HASH':JSON.stringify('[hash]')}})是否有任何方法可以直接将散列作为变量访问,或者是否有特定的方法对其进行插值? 最佳答案 https://githu