我最近做银联支付接口对接工作,他们给的代码是java版的,里面有几个加密方法不知道用php是怎么写的?

一个是

DigestUtils.sha256Hex(content);

第二个是这样的

public static byte[] hmacSHA256(byte[] data, byte[] key) throws NoSuchAlgorithmException, InvalidKeyException {
        String algorithm = "HmacSHA256";
        Mac mac = Mac.getInstance(algorithm);
        mac.init(new SecretKeySpec(key, algorithm));
        return mac.doFinal(data);
    }

我就想把这些加密方法换成php版的,大家有没有碰到过的?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

谢谢大家,我找对方要了一个php版的 第一个是:$str = bin2hex(hash('sha256', $content, true)); 第二个是:hash_hmac('sha256', $string, $appkey, true);

2年前 评论
讨论数量: 6
echo hash_hmac('sha256', '字符串', 'key');
2年前 评论
donggan (楼主) 2年前

$content = json_encode($params, JSON_UNESCAPED_UNICODE);

$hash = hash_hmac('sha256', $content , 'mykey');

2年前 评论

第一个就是正常的sha256的hash,第二个就是hash_hmac('sha256', $content , 'keystr');

2年前 评论

谢谢大家,我找对方要了一个php版的 第一个是:$str = bin2hex(hash('sha256', $content, true)); 第二个是:hash_hmac('sha256', $string, $appkey, true);

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!