⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.45
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
invoice
/
node_modules
/
sha.js
/
test
/
View File Name :
test.js
var crypto = require('crypto') var tape = require('tape') var Sha1 = require('../').sha1 var inputs = [ ['', 'ascii'], ['abc', 'ascii'], ['123', 'ascii'], ['123456789abcdef123456789abcdef123456789abcdef123456789abcdef', 'ascii'], ['123456789abcdef123456789abcdef123456789abcdef123456789abc', 'ascii'], ['123456789abcdef123456789abcdef123456789abcdef123456789ab', 'ascii'], ['0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcde', 'ascii'], ['0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef', 'ascii'], ['foobarbaz', 'ascii'] ] tape("hash is the same as node's crypto", function (t) { inputs.forEach(function (v) { var a = new Sha1().update(v[0], v[1]).digest('hex') var e = crypto.createHash('sha1').update(v[0], v[1]).digest('hex') console.log(a, '==', e) t.equal(a, e) }) t.end() }) tape('call update multiple times', function (t) { inputs.forEach(function (v) { var hash = new Sha1() var _hash = crypto.createHash('sha1') for (var i = 0; i < v[0].length; i = (i + 1) * 2) { var s = v[0].substring(i, (i + 1) * 2) hash.update(s, v[1]) _hash.update(s, v[1]) } var a = hash.digest('hex') var e = _hash.digest('hex') console.log(a, '==', e) t.equal(a, e) }) t.end() }) tape('call update twice', function (t) { var _hash = crypto.createHash('sha1') var hash = new Sha1() _hash.update('foo', 'ascii') hash.update('foo', 'ascii') _hash.update('bar', 'ascii') hash.update('bar', 'ascii') _hash.update('baz', 'ascii') hash.update('baz', 'ascii') var a = hash.digest('hex') var e = _hash.digest('hex') t.equal(a, e) t.end() }) tape('hex encoding', function (t) { inputs.forEach(function (v) { var hash = new Sha1() var _hash = crypto.createHash('sha1') for (var i = 0; i < v[0].length; i = (i + 1) * 2) { var s = v[0].substring(i, (i + 1) * 2) hash.update(Buffer.from(s, 'ascii').toString('hex'), 'hex') _hash.update(Buffer.from(s, 'ascii').toString('hex'), 'hex') } var a = hash.digest('hex') var e = _hash.digest('hex') console.log(a, '==', e) t.equal(a, e) }) t.end() }) tape('call digest for more than MAX_UINT32 bits of data', function (t) { var _hash = crypto.createHash('sha1') var hash = new Sha1() var bigData = Buffer.alloc(0x1ffffffff / 8) hash.update(bigData) _hash.update(bigData) var a = hash.digest('hex') var e = _hash.digest('hex') t.equal(a, e) t.end() })