【像这样的php函数,如何在Rails中使用hash_hmac使用sha256加密数据】教程文章相关的互联网学习教程文章

PHP 之sha256 sha512封装【代码】

/* PHP sha256 sha512目前(PHP 7.1)没有内置的函数来计算,sha1() sha1_file() md5() md5_file()分别可以用来计算字符串和文件的sha1散列值和md5散列值,当前最新版本PHP 7.1 sha256() sha256_file() sha512() sha512_file()这样的函数也没有。SHA-2是SHA-224、SHA-256、SHA-384,和SHA-512的合称。 PHP 计算sha256 sha512可以使用hash()函数实现,计算文件的sha256 sha512则可以使用hash_file()实现。 hash($algo , $data, $raw...

像这样的php函数,如何在Rails中使用hash_hmac使用sha256加密数据【代码】

我需要将此php函数转换为Rails.它用于加密我们提供的带有特殊密钥的数据.该函数的输出应与ruby函数匹配.请帮忙.public static function genHash($secret, $data) {$ourhash = hash_hmac('sha256', utf8_decode($data), utf8_decode($secret), FALSE);return $Hmac; }解决方法: require 'openssl'def genHash(secret, data)OpenSSL::HMAC.hexdigest('sha256', secret, data) end

如何像PHP一样制作Android Java HMAC SHA256?【代码】

我在PHP中有一个代码:$str=base64_encode('1234'); $key='1234'; print(base64_encode(hash_hmac('sha256', $str, $key,true)));以及Android Java(Android Studio)的什么代码? 这段代码给出了与PHP不同的结果:import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Base64; import android.util.Log; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec;private Str...

PHP-使用sha256作为带有用户ID的哈希和加盐【代码】

我将在我的站点上使用sha256,以保护用户密码,并且由于盐问题,我正在考虑使用用户ID(int auto_increment).这将是唯一的,但不会很长且很费力,并且是public(user.php?id = 1),但重要的是它的唯一性对吗?hash('sha256', $id . $password);解决方法:是的,盐的独特性(碰撞的可能性很小)很重要,但盐也应具有足够的熵(随机且足够长).用户ID不是随机的,并且可能太短,因此最好的选择是使用随机生成的字符串,并将它们与哈希一起存储在数据库...

PHP / Javascript / JQuery-base64 sha256编码【代码】

我正在尝试将API集成的PHP示例移植到Javascript / JQuery.在PHP中,使用以下代码创建加密的字符串:$sig = base64_encode(hash_hmac('sha256', $sign, $this->secretAccessKey, true)其功能记录在这里: http://php.net/manual/en/function.hash-hmac.php http://us.php.net/base64_encode 在Javascript中,我使用JQuery的加密算法来完成HMAC部分:http://code.google.com/p/crypto-js/#HMAC-SHA256并且我试图找出是否还需要进行base...

PHP和C#HMAC SHA256【代码】

我需要在C#中转换以下php代码:$res = mac256($ent, $key); $result = encodeBase64($res);哪里function encodeBase64($data) {$data = base64_encode($data);return $data; }和function mac256($ent,$key) {$res = hash_hmac('sha256', $ent, $key, true);//(PHP 5 >= 5.1.2)return $res; }我使用以下C#代码:byte[] res = HashHMAC(ent, key); string result = System.Convert.ToBase64String(res);哪里public byte[] HashHMAC(s...

哪个openssl版本支持php中的sha256

我为我们的客户编写了一个简单的php库.该库使用openssl验证和签名方法,使用SHA256算法.我认为SHA256的这种算法支持对PHP和openssl来说是一种新的.但我不知道支持SHA256的版本已经开始. 这会导致使用早期版本的openssl和php的客户端出现一些问题.我找不到上面指定的版本. 那么版本是什么,openssl首先开始在rsa签名和验证中支持sha256? 提前致谢.解决方法:由于PHP DOCS OPENSSL_ALGO_SHA256恒定输入首先在PHP 5.4.8中添加. 我在尝试...

PHP和Java中的SHA256【代码】

我正在将一些Java代码移植到PHP代码中.在Java中,我有一个哈希SHA256代码,如下所示:public static String hashSHA256(String input)throws NoSuchAlgorithmException {MessageDigest mDigest = MessageDigest.getInstance("SHA-256");byte[] shaByteArr = mDigest.digest(input.getBytes(Charset.forName("UTF-8")));StringBuilder hexStrBuilder = new StringBuilder();for (int i = 0; i < shaByteArr.length; i++) {hexStrBuild...

Go和PHP中的SHA256给出了不同的结果【代码】

我正在尝试通过HTTP将SHA256哈希字符串发送到服务器,我想通过执行SHA256哈希并验证两个匹配来进行身份验证.出于测试目的,我使用相同的字符串,但我的结果不匹配.这可能是我的base64_encode调用的默认编码方案吗?谢谢. 在PHP我正在做:$sha = hash("sha256", $url, true); $sha = base64_encode(urlencode($sha));在Go我正在做//convert string to byte slice converted := []byte(to_hash)//hash the byte slice and return the re...