如何生成HMAC在Java中相当于一个Python的例子吗 如何生成HMAC在Java中相当于一个Python的例子吗

\u4e3a\u4ec0\u4e48HMAC key\u8ba1\u7b97\u4e0d\u51fa\u6765

\u6211\u5728\u9694\u58c1\u5df2\u7ecf\u548c\u4f60\u89e3\u91ca\u4e86 \u4f60\u5c31\u4e0d\u8981\u8dd1\u5230A9\u518d\u6765\u95ee\u4e86

\u4f60\u5982\u679c\u5b66\u8fc7\u6982\u7387\u7684\u8bdd\uff0c\u5c31\u5e94\u8be5\u77e5\u9053\uff0c\u6709\u610f\u4e49\u7684\u968f\u673a\u6570\u90fd\u662f\u6709\u5206\u5e03\u7684\uff0c\u4f60\u8981\u751f\u6210N\u4e2a\u968f\u673a\u6570\uff0c\u5c31\u5e94\u8be5\u662f\u8003\u8651\u4ee5\u67d0\u79cd\u5206\u5e03\u4e0b\u751f\u6210\u968f\u673a\u6570\u3002\u4f8b\u5982random.ranint(a,b)\u662f\u751f\u6210\u670d\u4eceU[a,b]\u7684\u5747\u5300\u5206\u5e03\u7684\u968f\u673a\u6570\u3002 random.gauss(mu, sigma) \u751f\u6210\u670d\u4ece\u6b63\u6001\u5206\u5e03\u7684\u968f\u673a\u6570\u3002

1. HMACSHA1似乎是你所需要的算法:SecretKeySpec keySpec = new SecretKeySpec(
"qnscAdgRlkIhAUPY44oiexBKtQbGY0orf7OV1I50".getBytes(),
"HmacSHA1");
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(keySpec);
byte[] result = mac.doFinal("foo".getBytes());
BASE64Encoder encoder = new BASE64Encoder();
System.out.println(encoder.encode(result));

生产:+3h2gpjf4xcynjCGU5lbdMBwGOc=

请注意,我sun.misc.BASE64Encoder为迅速在这里,但你应该不依赖于太阳的JRE。以base64编码器在下议院编解码器将是一个更好的选择,例如。
2. A小调的事情,但如果你正在寻找一个相当于HMAC(那么默认的Python库的MD5算法,所以你需要的HMACMD5算法在Java中。 这个我有这个确切的问题,并认为此答案这是有帮助的 CodeGo.net,但我错过了一个地方传递到HMAC()的一部分,并就下一个兔子洞。希望这个答案可以防止其他人做的未来。 例如在Python REPL>>> import hmac
>>> hmac.new("keyValueGoesHere", "secretMessageToHash").hexdigest()
'1a7bb3687962c9e26b2d4c2b833b2bf2'

这等效于import org.apache.commons.codec.binary.Hex;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
public class HashingUtility {
public static String HMAC_MD5_encode(String key, String message) throws Exception {
SecretKeySpec keySpec = new SecretKeySpec(
key.getBytes(),
"HmacMD5");
Mac mac = Mac.getInstance("HmacMD5");
mac.init(keySpec);
byte[] rawHmac = mac.doFinal(message.getBytes());
return Hex.encodeHexString(rawHmac);
}
}

请注意,在我的例子我在干什么。hexdigest相当于()

  • 濡備綍鐢熸垚HMAC鍦↗ava涓鐩稿綋浜庝竴涓狿ython鐨勪緥瀛愬悧
    绛旓細public static String HMAC_MD5_encode(String key, String message) throws Exception { SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(),"HmacMD5");Mac mac = Mac.getInstance("HmacMD5");mac.init(keySpec);byte[] rawHmac = mac.doFinal(message.getBytes());return Hex.encodeHe...
  • 姹傛暀PHP鍜JAVA澶х base64_encode(hash_hmac('sha1',$public_key,$priv...
    绛旓細print_r($signature);JAVA渚ч渶瑕佹敞鎰忓涓嬪嚑鐐:1. hmac_sha1缂栫爜缁撴灉闇瑕佽浆鎹㈡垚hex鏍煎紡 2. java涓base64鐨勫疄鐜板拰php涓嶄竴鑷,鍏朵腑java骞朵笉浼氬湪瀛楃涓叉湯灏惧~琛=鍙蜂互鎶婂瓧鑺傛暟琛ュ厖涓8鐨勬暣鏁 3. hmac_sha1骞堕潪sha1, hmac_sha1鏄渶瑕佸叡浜瘑閽ョ殑 鍙傝冨疄鐜板涓:[java] view plain copy import java.io.Un...
  • java鍔犲瘑鐨勫嚑绉嶆柟寮
    绛旓細HMAC(Hash Message Authentication Code锛屾暎鍒楁秷鎭壌鍒爜)澶嶆潅鐨勫绉板姞瀵嗭紙DES銆丳BE锛夈侀潪瀵圭О鍔犲瘑绠楁硶锛欴ES(Data Encryption Standard锛屾暟鎹姞瀵嗙畻娉)PBE(Password-based encryption锛屽熀浜庡瘑鐮侀獙璇)RSA(绠楁硶鐨勫悕瀛椾互鍙戞槑鑰呯殑鍚嶅瓧鍛藉悕锛歊on Rivest, AdiShamir 鍜孡eonard Adleman)DH(Diffie-Hellman绠楁硶锛屽瘑閽ヤ竴鑷村崗...
  • 鍑芥暟HMAC-SHA1
    绛旓細4. 鏈嶅姟鍣ㄨ鍙栫敤鎴锋暟鎹簱涓殑鐢ㄦ埛瀵嗙爜鍜屾楠2涓彂閫佺殑闅忔満鍊煎仛涓庡鎴风涓鏍鐨刪mac杩愮畻锛岀劧鍚庝笌鐢ㄦ埛鍙戦佺殑缁撴灉姣旇緝锛屽鏋滅粨鏋滀竴鑷村垯楠岃瘉鐢ㄦ埛鍚堟硶 鍦ㄨ繖涓繃绋嬩腑锛屽彲鑳介伃鍒板畨鍏ㄦ敾鍑荤殑鏄湇鍔″櫒鍙戦佺殑闅忔満鍊煎拰鐢ㄦ埛鍙戦佺殑hmac缁撴灉锛岃屽浜庢埅鑾蜂簡杩欎袱涓肩殑榛戝鑰岃█杩欎袱涓兼槸娌℃湁鎰忎箟鐨勶紝缁濇棤鑾峰彇鐢ㄦ埛瀵嗙爜鐨勫彲...
  • hmac sha256鍜宻ha256鐨勫尯鍒
    绛旓細涓よ呮槸涓鏍鐨銆hmac鏄疕ash-based Message Authentication Code鐨勭畝鍐欙紝灏辨槸鎸囧搱甯屾秷鎭璇佺爜锛屽寘鍚湁寰堝绉嶅搱甯屽姞瀵嗙畻娉曪紝sha256鏄叾涓竴绉嶃
  • java椤圭洰濡備綍鍔犲瘑?
    绛旓細HMAC(Hash Message Authentication Code锛屾暎鍒楁秷鎭壌鍒爜锛屽熀浜庡瘑閽ョ殑Hash绠楁硶鐨勮璇佸崗璁傛秷鎭壌鍒爜瀹炵幇閴村埆鐨勫師鐞嗘槸锛岀敤鍏紑鍑芥暟鍜屽瘑閽ヤ骇鐢熶竴涓浐瀹氶暱搴︾殑鍊间綔涓鸿璇佹爣璇嗭紝鐢ㄨ繖涓 鏍囪瘑閴村埆娑堟伅鐨勫畬鏁存с備娇鐢ㄤ竴涓瘑閽鐢熸垚涓涓浐瀹氬ぇ灏忕殑灏忔暟鎹潡锛屽嵆MAC锛屽苟灏嗗叾鍔犲叆鍒版秷鎭腑锛岀劧鍚庝紶杈撱傛帴鏀舵柟鍒╃敤涓庡彂閫佹柟...
  • Java鎬庝箞缁橶ebService鍔犲瘑
    绛旓細http://blog.csdn.net/hulihui/archive/2008/10/01/3006882.aspx鐪嬬湅杩欎釜锛屾垜涔熷湪瀛
  • java濡備綍鐢熸垚token?
    绛旓細鍦∕aven椤圭洰涓紝浣犲彲浠ユ坊鍔犱互涓嬩緷璧栵細```xml <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.18.1</version> </dependency> ```鐒跺悗浣犲彲浠ヨ繖鏍鐢熸垚Token锛歚``java import com.auth0.jwt.JWT;import com.auth0.jwt.algorithms.Algorithm;import java....
  • java姣旇緝2涓枃浠舵槸鍚︽槸鐩稿悓鐨勬枃浠,鏄竴涓竴涓瓧鑺傛瘮杈冭繕鏄绠桵D5姣旇緝...
    绛旓細锛堟敞锛氬叾浠栨嵁璇寸浉瀵逛簬MD5鏉ヨ涓嶆槗纰版挒锛堝嵆涓嶅悓鍐呭寰楀嚭鐩稿悓MD5鍊鐨姒傜巼鍙兘鏇翠綆锛夌殑绠楁硶鎺ㄨ崘锛氳捣鐮 SHA1 锛屾渶濂 SHA256銆 SHA512銆丮D5+CRC32銆HMAC锛屾垨鑰呭嚑绉嶄笉鍚岀被鍨嬬畻娉曠殑鍚屾杩涜銆傚湪绮鹃氱畻娉曠殑鎯呭喌涓嬶紝灏嗚繖閲屾帹鑽愮殑绠楁硶鍙栦唬涓婃枃涓彁鍒扮殑MD5鏉ヨ冮噺锛岃兘鎵╁ぇ缁濆鍖哄垎闀垮害鑼冨洿锛屽彲鑳芥洿鏂逛究鏇村揩鐨勬瘮杈...
  • java闂
    绛旓細if ((new java.io.File("myprikey.dat")).exists()==false) { if (generatekey()==false) { System.out.println("鐢熸垚瀵嗛挜瀵硅触");return;};} //绗簩姝,姝ょ敤鎴 //浠庢枃浠朵腑璇诲叆绉侀挜,瀵逛竴涓瓧绗︿覆杩涜绛惧悕鍚庝繚瀛樺湪涓涓枃浠(myinfo.dat)涓 //骞朵笖鍐嶆妸myinfo.dat鍙戦佸嚭鍘 //涓轰簡鏂逛究...
  • 扩展阅读:java代码生成器 ... 入门的java游戏小程序 ... java入门网站 ... java一键生成app程序 ... 手机编写java代码的软件 ... 按f12代码看视频地址 ... 源代码如何生成软件 ... java初学者小程序 ... java代码变成app软件 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网