java hmac-SHA1 phpと同じ出力

java equivalent to php's hmac-SHA1 - Stack Overflow <http://stackoverflow.com/questions/1609899/java-equivalent-to-phps-hmac-sha1>

と同じ問題を抱えていた。

Javaで作ったdigestだと、フォーマットがphpと違うので、以下のメソッドで対応できた。

出力はこのサイトと同じになる。: Free Online HMAC Generator / Checker Tool (MD5, SHA-1, SHA-256, etc.) - FreeFormatter?.com <http://www.freeformatter.com/hmac-generator.html>

	private String computeSignature(String baseString) {
		String keyString = "XXXXXX";
		String retVal = null;
		try {
		    Mac mac = Mac.getInstance("HmacSHA1");
		    SecretKeySpec secret = new SecretKeySpec(keyString.getBytes(),"HmacSHA1");
		    mac.init(secret);
		    byte[] digest = mac.doFinal(baseString.getBytes());
		    //String enc = new String(digest);
		    //System.out.println("enc="+enc);
		    for (byte b : digest) {
		        System.out.format("%02x", b);
		    }
		    System.out.println();
		    StringBuffer stringBuffer = new StringBuffer();
		    for (byte b : digest) {
		    	stringBuffer.append(String.format("%02x", b));
		    }
		    System.out.println("stringBuffer="+stringBuffer.toString());
		    
		    retVal = stringBuffer.toString();
		} catch (Exception e) {
		    //System.out.println(e.getMessage());
			logger.warn(e);
		}
		return retVal;
	}

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-09-25 (木) 10:25:25 (1674d)