LAN MAC add 44:59:E3:79:5F:F8
IMEI 864436036586890
sana my mbuting loob dyan ahhhaahhaa kakasakit ulo....ito sana mka tulong sa magaling dyan ahah....
Copyright © 2016 Huawei Technologies Co., Ltd. All rights reserved.
*/
( function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var C_algo = C.algo;
var SHA2 = C_algo.SHA256;
var HmacSHA2 = C.HmacSHA256;
var Base = C_lib.Base;
var SCRAM = C_algo.SCRAM = Base.extend({
cfg: Base.extend({
keySize: 8,
hasher: SHA2,
hmac: HmacSHA2
}),
init: function (cfg) {
this.cfg = this.cfg.extend(cfg);
},
/**
* return client nonce
*/
nonce: function() {
lastNonce = WordArray.random(this.cfg.keySize * 4);
return lastNonce;
},
/**
* pbkdf2
*/
saltedPassword: function(password, salt, iterations) {
return CryptoJS.PBKDF2(password, salt, {
keySize: this.cfg.keySize,
iterations:iterations,
hasher: this.cfg.hasher
});
},
/**
* ClientKey = HMAC(saltPwd, "Client Key")
*/
clientKey: function(saltPwd) {
return this.cfg.hmac(saltPwd, "Client Key");
},
/**
* ServerKey = HMAC(saltPwd, "Server Key")
*/
serverKey: function(saltPwd) {
return this.cfg.hmac(saltPwd, "Server Key");
},
/**
* StoredKey = HASH(ClientKey)
*/
storedKey: function(clientKey) {
var hasher = this.cfg.hasher.create();
hasher.update(clientKey);
return hasher.finalize();
},
/**
* Signature = HMAC(StoredKey, AuthMessage)
*/
signature: function(storedKey, authMessage) {
return this.cfg.hmac(storedKey, authMessage);
},
/**
* ClientProof = ClientKey ^ ClientSignature
*/
clientProof: function (password, salt, iterations, authMessage) {
var spwd = this.saltedPassword(password, salt, iterations);
var ckey = this.clientKey(spwd);
var skey = this.storedKey(ckey);
var csig = this.signature(skey, authMessage);
for (var i = 0; i < ckey.sigBytes/4; i += 1) {
ckey.words
= ckey.words ^ csig.words
}
return ckey.toString();
},
/**
* ServerProof = HMAC(ServerKey, AuthMessage)
*/
serverProof: function (password, salt, iterations, authMessage) {
var spwd = this.saltedPassword(password, salt, iterations);
var skey = this.serverKey(spwd);
var sig = this.signature(skey, authMessage);
return sig.toString();
}
});
/**
* var scram = CryptoJS.SCRAM();
*/
C.SCRAM = function (cfg) {
return SCRAM.create(cfg);
};
PBKDF2 Calculator
[Back] PBKDF2 (Password-Based Key Derivation Function 2) is defined in RFC 2898 and generates a salted hash. Often this is used to create an encryption key from a defined password, and where it is not possible to reverse the password from the hashed value. It is used in TrueCrypt to generate the key required to read the header information of the encrypted drive, and which stores the encryption keys.
Message (or pass phrase): | |
Salt (or SSID) (hex or ASCII): | |
iterations: | |
Key length (DKlen - Bytes) | |
The salt will auto-detect if the value is an ASCII string or hex.
The results are then: