我最近做银联支付接口对接工作,他们给的代码是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版的,大家有没有碰到过的?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

谢谢大家,我找对方要了一个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年前 评论

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