语言包含:
Javascript ,PHP,Java,Groovy,C#,Objective C,Go,Ruby,Python,Perl,Dart,Swift,Rust,Powershell。
Javascript HMAC SHA256
Run the code online withthis jsfiddle. Dependent upon an open source js library calledhttp://code.google.com/p/crypto-js/.
var hash = CryptoJS.HmacSHA256("Message", "secret");var hashInBase64 =CryptoJS.enc.Base64.stringify(hash);
document.write(hashInBase64);PHP HMAC SHA256
PHP has builtin methods for hash_hmac (PHP 5) and base64_encode (PHP 4, PHP 5) resulting in no outside dependencies. Say what you want about PHP but they have the cleanest code for thisexample.
$s= hash_hmac('sha256', 'Message', 'secret', true);
echo base64_encode($s);
Java HMAC SHA256
Dependent on Apache Commons Codec to encodeinbase64.
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;public classApiSecurityExample {public static voidmain(String[] args) {try{
String secret= "secret";
String message= "Message";
Mac sha256_HMAC= Mac.getInstance("HmacSHA256");
SecretKeySpec secret_key= new SecretKeySpec(secret.getBytes(), "HmacSHA256");
sha256_HMAC.init(secret_key);
String hash=Base64.encodeBase64String(sha256_HMAC.doFinal(message.getBytes()));
System.out.println(hash);
}catch(Exception e){
System.out.println("Error");
}
}
}
Groovy HMAC SHA256
Itis mostly Java code bu