webfleet_ws_key_generation
Last modified by Admin on 2019/09/10 07:01
To generate key you need to know account's username and password.
Using SHA-1 algorithm hash text "username;password;unixTime" and convert to hex string
Concat hex string and unixTime value with delimiter ';' in one String
Example:
Username = "foo"
Password = "bar"
UnixTime = 1429860412
key = sha1Hex("foo;bar;1429860412")+";"+"1429860412"
Resulting key example: f083777d2eaf876eca37e43e927702b4ed15d42d;1429860412
Key generation code in java
private MessageDigest messageDigest = DigestUtils.getSha1Digest();
public String makeKeyFor(String username, String password) {
DateTime now = DateTime.now(DateTimeZone.forID("UTC"));
int unixTime = (int) (now.getMillis() / 1000);
String unencryptedKey = String.format("%s;%s;%s", username, password, unixTime);
return sha1Hex(unencryptedKey) + ";" + unixTime;
}
private String sha1Hex(String input) {
return Hex.encodeHexString(messageDigest.digest(input.getBytes()));
}
private MessageDigest messageDigest = DigestUtils.getSha1Digest();
public String makeKeyFor(String username, String password) {
DateTime now = DateTime.now(DateTimeZone.forID("UTC"));
int unixTime = (int) (now.getMillis() / 1000);
String unencryptedKey = String.format("%s;%s;%s", username, password, unixTime);
return sha1Hex(unencryptedKey) + ";" + unixTime;
}
private String sha1Hex(String input) {
return Hex.encodeHexString(messageDigest.digest(input.getBytes()));
}