C# Token Generator Code

Example C# code to generate an API Token

using System;
using System.Text;
using System.Security.Cryptography;

public class TokenGenerator
{
	private const string ALG = "HmacMD5";

	public String GetToken(String secret, String ip)
	{
		long timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
		string keyString = secret + ":" + ip + ":" + timestamp;

		HMAC hmac = HMACMD5.Create(ALG);
		hmac.Key = Encoding.UTF8.GetBytes(secret);
		hmac.ComputeHash(Encoding.UTF8.GetBytes(keyString));

		return BitConverter.ToString(hmac.Hash).Replace("-", "").ToLower();
	}

	public static void Main(string[] args)
	{
		TokenGenerator tokenGenerator = new TokenGenerator();
		String token = tokenGenerator.GetToken("testsecret", "127.0.0.1");
		Console.WriteLine("token:" + token);
	}
}

Example

Running this code with the timestamp 1686567451541 yields the value:

c2da066783911275dee293cf21d235a0

Last updated

Was this helpful?