<?php
$key = "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF";
$binkey = pack("H*", $key);
echo strtoupper(hash_hmac('sha512', "ABC", $binkey));
?>
100A6A016A4B21AE120851D51C93B293D95B7D8A44B16ACBEFC2D1C9DF02B6F54FA3C2D6802E52FED5DF8652DDD244788A204682D2D1CE861FDA4E67F2792643
private String generateHMAC( String datas )
{
// final Charset asciiCs = Charset.forName( "utf-8" );
Mac mac;
String result = "";
try
{
byte[] bytesKey = PayboxConstants.KEY.getBytes( );
final SecretKeySpec secretKey = new SecretKeySpec( bytesKey, "HmacSHA512" );
mac = Mac.getInstance( "HmacSHA512" );
mac.init( secretKey );
final byte[] macData = mac.doFinal( datas.getBytes( ) );
byte[] hex = new Hex( ).encode( macData );
result = new String( hex, "ISO-8859-1" );
}
catch ( final NoSuchAlgorithmException e )
{
AppLogService.error( e );
}
catch ( final InvalidKeyException e )
{
AppLogService.error( e );
}
catch ( UnsupportedEncodingException e )
{
AppLogService.error( e );
}
return result.toUpperCase( );
}
AA6492987D7A7AC81109E877315414806F1973CC47B897ECE713171A25A11B279329B1BFF39EA72A5EFB7EDCD71D1F34D5AAC49999A780BD13F019ED99685B80
我尝试了很多其他java代码,但没有一个是php版本的完全克隆。
我做错了什么?
您只是忘记了在Java代码中模仿pack()
的行为(无论您需要什么)。
使用
final SecretKeySpec secretKey = new SecretKeySpec( DatatypeConverter.parseHexBinary(PayboxConstants.KEY), "HmacSHA512" );
在Java代码中。
其中DataTypeConverter.parseHexBinary()
来自JAXB API。
import "crypto/sha512" sha512包实现了SHA384和SHA512哈希算法,参见FIPS 180-2。 Constants func Sum512(data []byte) [Size]byte func New() hash.Hash func Sum384(data []byte) (sum384 [Size384]byte) func New384() hash.H
问题内容: 我有这个生成 HMAC (而不是简单的消息摘要)的php代码: 并与输入输出是: 我需要在Java中将其克隆。 所以这是我当前的Java克隆: 但这并不能完成工作,因为对于相同的输入(ABC),其输出为: 我尝试了很多其他的Java代码,但没有一个是php版本的精确克隆。 我做错什么了? 问题答案: 您只是忘了模仿Java代码中的行为(无论您需要使用什么)。 用 在您的Java代码中。
我有以下PHP代码: 如何在android(java)中实现同样的功能。 我已经尝试了hmac sha512可用的几种方法,但php代码段的结果与我的不同。 提前致谢
本文向大家介绍JavaScript SHA512加密算法详细代码,包括了JavaScript SHA512加密算法详细代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JavaScript SHA512加密算法,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家有所帮助,希望大家继续关注呐喊教程的最新内容。
我需要:基于密码的加密使用sha512消化和256位AES加密与cbc和bc标志设置。 看来算法应该是这样的:PBEWithSHA512AndAES256-CBC-BC 但是在我的本地环境中,我得到错误:org.jasypt.exceptions.encryptioninitializationexception:java.security.nosuchalgorithmexception:没有这
问题内容: 我正在使用GoLang中的授权模块。在我们将PHP5与crypt函数一起使用之前。哈希生成类似于SHA-512: 并像这样存储在数据库中。但是现在我需要使其在GoLang中也能正常工作。我在Google上进行了搜索,并尝试了不同的方法,例如: 但是所有产生的东西都不一样。谁能进一步帮助我们? 我们要验证并创建类似php版本的哈希。 提前致谢。 问题答案: https://github.