草庐IT

hmac-sha

全部标签

php - 我可以在 Perl 或 PHP 中生成 SHA1 吗?

Verotel需要使用sha1_hex函数对一些数据进行哈希处理。它到底是什么?整个互联网上都没有关于它的信息。他们说“使用了SHA-1哈希(十六进制输出)”。带十六进制输出的Sha1?这是一个我似乎无法重现的例子:sha1_hex("abc777X:description=somedescriptionofproduct:priceAmount=51.20:priceCurrency=EUR:shopID=60678:version=1")=04d87d2718767ea0bef259c436ec63e3cde05be2 最佳答案

php - 主卡 migs md5 到 SHA-256 HMAC php

我有一个来自migs的网关,但它们已将md5更改为SHA-256HMAC我如何在我的代码中更改它我尝试了太多次但我收到错误400我认为我的代码存在一些问题现有代码country."'ORDERBYcountry_2_codeASC";$db1->query($q);$url="https://migs.mastercard.com.au/vpcpay";$SECURE_SECRET=MIGS_SS;$vpcURL=$url."?";$md5HashData=$SECURE_SECRET;$tax_total=$db->f("order_tax")+$db->f("order_shipp

Zend Server CE 5.5 中带有 sha256 的 PHP crypt() 会截断提供的盐

在从ZendServerCE5.1升级到ZendServerCE5.5的过程中,PHP也从5.3.5升级到5.3.8。在此转换之后,我正在处理的zend应用程序的登录功能突然中断。尝试调试它,它看起来像crypt()的实现没有反射(reflect)PHP手册,或者我误解了它。如果我敢猜测,是后者。我使用16个字符的长盐作为使用SHA256的更大盐的一部分,这在PHP手册中用作示例。$password=//stringenteredatlogin$salt='$5$rounds=250000$1234abcd5678defg$';在我对输入的密码进行哈希运算之后$hash=crypt($

hash - HMAC 执行失败

我希望这是一个正确的论坛;我不确定是否应该在stackoverflow、密码学或安全性方面提出这个问题。所以我的问题是php的hash_hmac函数只适用于php>=5.1.2。因为一些服务器没有更新到这个版本我写了我自己的HMAC-implementaion基于php的散列函数。但是代码不会产生与hash_hmac相同的输出...那么我的错误在哪里呢?define("HASH_ALGO","sha512");define("HMAC_BLOCKSIZE",64);functioncomputeHMAC($message,$key){$ikey;$okey;$zero=hex2bin(

javascript - node.js 和 PHP 之间的 SHA1 哈希差异

我想将这部分node.js代码转换为PHP代码。(工作中)functiongenerateHashedPass(password,salt){varbyteSalt=newBuffer(salt,'base64');varbytePass=newBuffer(password,'ucs2');varbyteResult=Buffer.concat([byteSalt,bytePass]);returnsha1.update(byteResult).digest('base64');}console.log(generateHashedPass('111111','UY68RQZT14Q

php - 在 Python 中使用 flask 进行 Hmac 验证(在 PHP 和 RUBY 中有引用)

我一直在研究一种在python中使用flask为selly.gg商家网站实现HMAC验证的方法。因此selly的开发文档提供了以下示例来验证HMAC签名(在PHP和ruby​​中):https://developer.selly.gg/?php#signing-validating(代码如下:)PHP:ruby:signature=OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha512'),secret,payload.to_json)is_valid_signature=ActiveSupport::SecurityUtils.secu

php - 在 PHP 中正确使用带有 SHA512 的 crypt()

所有在线示例都显示了crypt的用法,如下所示:$pass=crypt('something','$6$rounds=5000$anexamplestringforsalt$');但每个人都说你不应该定义圆或盐。那我应该怎么使用呢?我还有一个问题:当我运行上面的代码时,它只运行了50轮而不是5000轮,就好像系统正在停止它一样。任何帮助将不胜感激。//-解决方案-//我发现其中一些很有用:用于生成盐:这是一种随机生成盐的方法$randomString=random_bytes(32);Base64编码保证部分字符不会对crypt造成问题$salt=base64_encode($rand

java - HMC SHA1 哈希 - Java 生成与 C# 不同的哈希输出

这是this问题的跟进,但我正在尝试将C#代码移植到Java,而不是将Ruby代码移植到C#,就像相关问题中的情况一样。我正在尝试验证从Recurly.jsapi返回的加密signature是否有效。不幸的是,Recurly没有Java库来协助验证,所以我必须自己实现签名验证。根据上述相关问题(this),以下C#代码可以生成验证从Recurly返回的签名所需的哈希值:varprivateKey=Configuration.RecurlySection.Current.PrivateKey;varhashedKey=SHA1.Create().ComputeHash(Encoding.

java - RSA/ECB/OAEPWithSHA-256AndMGF1Padding 但 MGF1 使用 SHA-256?

我在Oracle的Java标准加密提供程序中找到了困难的方法Ciphercipher=Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding");使用通过SHA-1实例化的MFG1;SHA-256仅用于散列标签(实际上是空的)。我发现在MFG1中实际使用SHA-256的唯一解决方案(在answer和comment的帮助下)是使用Cipher.init的替代形式:cipher.init(Cipher.DECRYPT_MODE,privKey,newOAEPParameterSpec("SHA-256","MGF1",MGF1Pa

java - 如何在 Java 中更快地计算 sha256?

我发现在java中计算sha256很慢。例如,它比python慢。我编写了两个简单的基准测试来计算1GB零的sha256。在这两种情况下,结果相同且正确,但python时间为5653ms,java时间为8623ms(慢53%)。每次结果都相似,这对我来说是一个重要的区别。如何让java的计算速度更快?基准:Java:importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;publicclassBenchmarkSha256{publicstaticvoidmain(String...a