// hash token using username and password function hashToken(username, password, loginToken) { var shaPassword = new jsSHA(password, 'ASCII'), shaStep1 = new jsSHA(shaPassword.getHash('SHA-512', 'HEX'), 'ASCII'), shaStep2 = new jsSHA(loginToken, 'ASCII'), HashedToken = shaStep1.getHMAC(username, 'ASCII', 'SHA-512', 'HEX'); return shaStep2.getHMAC(HashedToken, 'ASCII', 'SHA-512', 'HEX'); }
module.exports.checkSignature = function (req, res, next) { var token = "congtoken"; var signature = req.query.signature; var timestamp = req.query.timestamp; var echostr = req.query.echostr; var nonce = req.query.nonce; var oriArray = new Array(); oriArray[0] = nonce; oriArray[1] = timestamp; oriArray[2] = token; oriArray.sort(); var original = oriArray.join(''); var shaObj = new jsSHA('SHA-1', 'TEXT'); shaObj.update(original); var scyptoString = shaObj.getHash('HEX'); if (signature == scyptoString) { //验证成功 res.send(echostr); } else { //验证失败 console.log("验证失败"); } };
export function hexDigest(o: Object): string { // https://github.com/Caligatio/jsSHA const hasher = new jsSHA('SHA-256', 'TEXT'), normalised = normalise(o); hasher.update(normalised); return hasher.getHash('HEX'); }
// 计算签名方法 function _calcSignature(ticket, noncestr, ts, url) { var str = 'jsapi_ticket=' + ticket + '&noncestr=' + noncestr + '×tamp=' + ts + '&url=' + url; let shaObj = new jsSHA('SHA-1', 'TEXT'); shaObj.update(str); return shaObj.getHash('HEX'); }
tc_res.on('data', function(dt) { var dt_tc = dt.toString(); console.log("Got ticket info: " + dt_tc); var ticket_obj = JSON.parse( dt_tc ); if ('errcode' in ticket_obj && ticket_obj['errcode'] == 0 && 'ticket' in ticket_obj && 'expires_in' in ticket_obj) { var ticket = ticket_obj['ticket']; wx_expires_in = ticket_obj['expires_in']; wx_str = Math.random().toString(36).substr(2, 15); wx_ts = parseInt(new Date().getTime() / 1000); wx_get_tmstamp = wx_ts; var str = 'jsapi_ticket=' + ticket + '&noncestr=' + wx_str + '×tamp='+ wx_ts +'&url=' + full_url; var shaObj = new jsSHA('SHA-1', 'TEXT'); shaObj.update( str ); wx_sig = shaObj.getHash('HEX'); var tpl_var = {'wx_debug': wx_debug, 'wx_appid': wx_appid, 'wx_ts': wx_ts, 'wx_str': wx_str, 'wx_sig': wx_sig, 'wx_title': wx_title, 'wx_desc': wx_desc, 'wx_link': wx_link, 'wx_img':wx_img }; console.log( "New template var for weixin config:"); console.log( tpl_var ); res.render("index", tpl_var); } else { console.log("ERROR, get ticket with access token return with error data."); } });
function(username, password, done){ username = username.toLowerCase(); var shaObj = new jssha("SHA-512", "TEXT"); shaObj.update(password); var hash = shaObj.getHash("HEX"); password = hash; User.findOne({"username": username, "password": password}, function(err, user){ if(err) { return done(err); } if(!user) { return done(null, false, { message: 'Incorrect username or password' }); } var expires = moment().add(1, 'days').valueOf(); var token = jwt.encode({ iss: user._id, exp: expires }, config.jwt.secret); return done(null, { "user_id": user._id, "username": user.username, "created_on": user.created, "access_token": token, "expires_at": expires }); }); }
module.exports = function hash(i) { const value = Math.random(); var shaObj = new jsSHA('SHA-512', 'TEXT'); shaObj.update(i.toString()); return shaObj.getHash('B64'); };
exports.authweixin = function (req, res) { var token = 'iloveyouforever'; var signature = req.query.signature; var timestamp = req.query.timestamp; var echostr = req.query.echostr; var nonce = req.query.nonce; var oriArray = []; oriArray[0] = nonce; oriArray[1] = timestamp; oriArray[2] = token; oriArray.sort(); var original = oriArray.join(''); var jsSHA = require('jssha'); var shaObj = new jsSHA('SHA-1', 'TEXT'); shaObj.update(original); var scyptoString = shaObj.getHash('HEX'); if (signature === scyptoString) { console.log('confirm and send echo back'); res.end(echostr); } else { console.log('failed'); } }
function passwordMD5(str, key){ // shaObj 对象存有多种SHA加密值: SHA-512 SHA-1 SHA-224, SHA-256, SHA-384 var strMd5 = utility.md5(str); //console.log('strMd5:'+strMd5); var shaObj = new jsSHA(strMd5, 'TEXT'); //console.log("SHA-1 : "+shaObj.getHash('SHA-1', 'HEX')); return '' === str ? '' : utility.md5(shaObj.getHash('SHA-1', 'HEX') + key); }
function main() { while(true){ var shaObj = new jsSHA(string, 'TEXT'); var a = shaObj.getHash('SHA-256', 'HEX'); if (debug) { console.log(num++); tessel.led[0].toggle(); } } }
base.SHA256 = function SHA256(text) { /** * .. js:function:: js2p.base.SHA256(text) * * This function returns the hex digest of the SHA256 hash of the input text * * :param string text: A string you wish to hash * * :returns: the hex SHA256 hash */ var hash = new SHA("SHA-256", "ARRAYBUFFER"); hash.update(new Buffer(text)); return hash.getHash("HEX"); };
var sign = function (jsapi_ticket, url) { var ret = { jsapi_ticket: jsapi_ticket, nonceStr: createNonceStr(), timestamp: createTimestamp(), url: url }; var string = raw(ret); var shaObj = new jsSHA(string, 'TEXT'); ret.signature = shaObj.getHash('SHA-1', 'HEX'); return ret; };
var sign = function (jsapi_ticket, url, nonce, timestamp) { var ret = { jsapi_ticket: jsapi_ticket, nonceStr: nonce, timestamp: timestamp, url: url }; var string = raw(ret); var jsSHA = require('jssha'); var shaObj = new jsSHA('SHA-1', 'TEXT'); //new jsSHA(string, 'TEXT'); shaObj.update(string); ret.signature = shaObj.getHash("HEX"); //shaObj.getHash('SHA-1', 'HEX'); return ret; };
tokenHelper.refreshAccessToken(appId, function(err, access_token, jsapi_ticket){ var ret = { jsapi_ticket: jsapi_ticket, nonceStr: "q2XFkAiqofKmi1Y2", timestamp: 1421670369, url: originUrl }; var string = raw(ret); var shaObj = new jsSHA(string, 'TEXT'); var sign = shaObj.getHash('SHA-1', 'HEX'); res.send({sign:sign}); });
}, function(err, docs) { if (err) { return next({ status: 500, message: err }); } if (!docs[0].isMaster && id != reqID) { return next({ status: 401, message: "Unauthorized" }) } if(req.body.pledge.password) { var sha1 = new jsSHA("SHA-1","TEXT"); sha1.update(req.body.pledge.password); req.body.pledge.password = sha1.getHash("HEX"); } datastore.update({ id: id }, { $set: req.body.pledge }, {}, function(err, numReplaced) { if (err) { return next({ status: 500, message: err }); } datastore.find({ id: id }, function(err, docs) { if (err) { return next({ status: 500, message: err }); } res.status(200).json({ pledge: docs[0] }); }); }); });
router.get('/api/auth', function (req, res, next) { var token = 'leondc'; var signature = req.query.signature; var timestamp = req.query.timestamp; var echostr = req.query.echostr; var nonce = req.query.nonce; var oriArray = [nonce, timestamp, token]; oriArray.sort(); var original = oriArray.join(''); var shaObj = new jsSHA(original, 'TEXT'); var scyptoString = shaObj.getHash('SHA-1', 'HEX'); if(scyptoString === signature){ res.json(echostr); }else{ res.json('error'); } });
create: function(req, res, next) { var user = new User(req.body); user.username = req.body.username.toLowerCase(); var shaObj = new jssha("SHA-512", "TEXT"); shaObj.update(user.password); var hash = shaObj.getHash("HEX"); user.password = hash; user.save(function(err){ if (err) { return res.status(500).send(err); } else { res.json(user); next(); } }); },
const buildMessage = async ({ method, url, params, data, }) => { const sha256 = new SHA('SHA-256', 'ARRAYBUFFER'); const methodBytes = toByteArray(method.toUpperCase()); const builtURL = toByteArray(buildURL(url, params)); sha256.update(methodBytes.buffer); sha256.update(builtURL.buffer); if (data instanceof UploadFileAsFormField) { const file = await readAsArrayBuffer(data.file); sha256.update(file); } if (data === Object(data)) { sha256.update(toByteArray(JSON.stringify(data)).buffer); } return sha256.getHash('HEX'); };
async getSignPackage (url) { if (this.base.debug) { console.log ("where store data?"); } var jsApiTicket = await this._getJsApiTicket(); debug ("jsApiTicket", jsApiTicket); var currentTimestamp = parseInt(new Date().getTime() / 1000) + ''; var raw = function (args) { var keys = Object.keys(args); keys = keys.sort() var newArgs = {}; keys.forEach(function (key) { newArgs[key.toLowerCase()] = args[key]; }); var string = ''; for (var k in newArgs) { string += '&' + k + '=' + newArgs[k]; } string = string.substr(1); return string; }; var ret = { jsapi_ticket: jsApiTicket, nonceStr: this._createNonceStr(), timestamp: currentTimestamp, url: url }; var string = raw(ret); var jsSHA = require('jssha'); var shaObj = new jsSHA(string, 'TEXT'); ret.signature = shaObj.getHash('SHA-1', 'HEX'); ret.appId = this.base.appId; return ret; }
app.get('/',function(req,res){ var token="HITwhite"; var signature = req.query.signature; var timestamp = req.query.timestamp; var echostr = req.query.echostr; var nonce = req.query.nonce; var oriArray = new Array(); oriArray[0] = nonce; oriArray[1] = timestamp; oriArray[2] = token; oriArray.sort(); var original = oriArray.join(''); var jsSHA = require('jssha'); var shaObj = new jsSHA(original, 'TEXT'); var scyptoString=shaObj.getHash('SHA-1', 'HEX'); if(signature == scyptoString){ //验证成功 console.log('验证成功'); } else { //验证失败 console.log('验证失败'); } });
tokenHelper.getTokenByAppId(appId, function(err, access_token, js_ticket, old_timestamp){ var now_timestamp = parseInt(new Date().getTime() / 1000); if((now_timestamp-parseInt(old_timestamp))>=7100){ tokenHelper.refreshAccessToken(appId, function(err, access_token, jsapi_ticket){ var ret = { jsapi_ticket: jsapi_ticket, nonceStr: "q2XFkAiqofKmi1Y2", timestamp: 1421670369, url: originUrl }; var string = raw(ret); var shaObj = new jsSHA(string, 'TEXT'); var sign = shaObj.getHash('SHA-1', 'HEX'); res.send({sign:sign}); }); } else{ var ret = { jsapi_ticket: js_ticket, nonceStr: "q2XFkAiqofKmi1Y2", timestamp: 1421670369, url: originUrl }; var string = raw(ret); var shaObj = new jsSHA(string, 'TEXT'); var sign = shaObj.getHash('SHA-1', 'HEX'); res.send({sign:sign}); } });
router.post('/', function(req, res, next) { var email = req.body.email; var sha1 = new jsSHA("SHA-1","TEXT"); sha1.update(req.body.password) var password = sha1.getHash("HEX"); datastore.loadDatabase(function(err) { if (err) { return next({ status: 500, message: err }); } datastore.find({email : email}, function(err,docs) { if (err) { return next({ status: 500, message: err }); } if (docs == null || docs.length == 0 || docs[0].password != password) { return next({ status: 401 }); } else { var pledge = docs[0]; res.status(201).json({ success: true, api_key: { access_token: pledge.access_token, user_id: pledge.id } }); } }); }); });
UnTypedShaComponent.prototype.ngOnInit = function () { var shaObj = new jsSHA("SHA-512", "TEXT"); shaObj.update("This is a test"); this.hash = shaObj.getHash("HEX"); };
beforeEach(function() { logary = new Logary('MyWebSite', stubTarget); logger = getLogger(logary, 'AreaX.ComponentA'); const hasher = new jsSHA('SHA-256', 'TEXT'); emptyHash = hasher.getHash('HEX'); });
function getSha (passwd) { var shaObj = new jsSHA(passwd, 'TEXT'), hash = shaObj.getHash('SHA-512', 'HEX'); return hash; }
exports.sha1 = function(hash){ let shaObj = new jsSha("SHA-1", 'TEXT'); shaObj.update(hash); return shaObj.getHash("HEX"); }
function sha1EncryptPassword(loginToken){ var shaObj = new jsSHA(process.env.USER_PASSWORD, 'TEXT'); shaObj.getHash('SHA-1', 'HEX'); var hmac = shaObj.getHMAC(loginToken, 'TEXT', 'SHA-1', 'HEX'); return hmac; }
var calcSignature = function (ticket, noncestr, ts, url) { var str = 'jsapi_ticket=' + ticket + '&noncestr=' + noncestr + '×tamp='+ ts +'&url=' + url; var shaObj = new jsSHA(str, 'TEXT'); return shaObj.getHash('SHA-1', 'HEX'); };
jwt.verify(token, "ayy lmao", function(err, decoded) { if (err) { return next({ status: 401, message: err }) } var id = decoded.id; var isMaster = req.body.pledge.isMaster; var firstName = req.body.pledge.firstName; var lastName = req.body.pledge.lastName; var numberInterviewsDone = 0; var brothersInterviewed = []; var email = req.body.pledge.email; var sha1 = new jsSHA("SHA-1","TEXT") sha1.update(email); var password = sha1.getHash("HEX"); var apiKeys = []; var errors = {}; if ((typeof isMaster !== 'boolean') || !firstName || !lastName || !email) { return next({ status: 400, message: "One of these is bad: " + isMaster + "," + firstName + "," + lastName + "," + email }); } var pledge = new Pledge(isMaster, firstName, lastName, numberInterviewsDone, brothersInterviewed, email, password, apiKeys, errors); datastore.loadDatabase(function(err) { if (err) { return next({ status: 500, message: err }); } datastore.find({ id: id }, function(err, docs) { if (err) { return next({ status: 500, message: err }); } if (!docs[0].isMaster) { return next({ status: 401, message: "Unauthorized" }) } datastore.insert(pledge, function(err) { if (err) { return next({ status: 500, message: err }); } res.status(201).json({ pledge: pledge }); }); }); }); });