Skip to content

Instantly share code, notes, and snippets.

@vzaar
Created June 22, 2012 13:36
Show Gist options
  • Save vzaar/2972773 to your computer and use it in GitHub Desktop.
Save vzaar/2972773 to your computer and use it in GitHub Desktop.
Generating vzaar USS Tokens
// This example requires the apache commons-codec library
// (http://commmons.apache.org/codec)
import org.apache.commons.codec.digest.DigestUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class VzaarUssTokens {
public static void main(String[] args) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
String expiryTimestamp = dateFormat.format(
new Date(System.currentTimeMillis() + (120 * 1000)));
String signingKey = "000033337777aaaa222233334444bbbb";
int videoId = 920344;
// Generate a video specific token
String signatureVs = DigestUtils.md5Hex(
String.format("%d:%s:%s", videoId, signingKey, expiryTimestamp));
String tokenVs = String.format("2.%s.%s", expiryTimestamp, signatureVs);
// Generate a user specific token
String signatureUs = DigestUtils.md5Hex(
String.format("%s:%s", signingKey, expiryTimestamp));
String tokenUs = String.format("3.%s.%s", expiryTimestamp, signatureUs);
}
}
<?php
# Expire in 2 minutes time
$time = new DateTime('now', new DateTimeZone('UTC'));
$time -> modify("+2 minutes");
$expiry_timestamp = $time -> format('YmdHis');
$signing_key = "000033337777aaaa222233334444bbbb";
$video_id = 920344;
# Generate a video-specific token
$signature_vs = md5("{$video_id}:{$signing_key}:{$expiry_timestamp}");
$token_vs = "2.{$expiry_timestamp}.{$signature_vs}";
# Generate a user-specific token
$signature_us = md5("{$signing_key}:{$expiry_timestamp}");
$token_us = "3.{$expiry_timestamp}.{$signature_us}";
?>
require 'digest'
# Expire in 2 minutes time
expiry_timestamp = (Time.now.utc + 120).strftime("%Y%m%d%H%M%S")
signing_key = "000033337777aaaa222233334444bbbb"
video_id = 920344
# Generate a video specific token
signature_vs = Digest::MD5.hexdigest(
"#{video_id}:#{signing_key}:#{expiry_timestamp}"
)
token_vs = "2.#{expiry_timestamp}.#{signature_vs}"
# Generate a user specific token
signature_us = Digest::MD5.hexdigest(
"#{signing_key}:#{expiry_timestamp}"
)
token_us = "3.#{expiry_timestamp}.#{signature_us}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment