You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
4 years ago
|
import 'hydrooj';
|
||
|
import md5 from 'hydrooj/src/lib/md5';
|
||
|
import sha1 from 'hydrooj/src/lib/sha1';
|
||
|
import pwhash from 'hydrooj/src/lib/hash.hydro';
|
||
|
import 'hydrooj/src/utils';
|
||
|
|
||
|
describe('crypto', () => {
|
||
|
const content1 = 'twd2akioi';
|
||
|
const content2 = '陈志鹏爱吃玻璃。';
|
||
|
|
||
|
test('MD5', () => {
|
||
|
const result1 = '57b6a9bd92c0502714ecedc4a5ebf24c';
|
||
|
const result2 = 'f598cb0738e7cd9efbbdf0ad7b6b42a7';
|
||
|
expect(md5(content1)).toStrictEqual(result1);
|
||
|
expect(md5(content2)).toStrictEqual(result2);
|
||
|
});
|
||
|
|
||
|
test('SHA1', () => {
|
||
|
const result1 = 'bade50df188c338fae183cf3bde34fafaf590bc5';
|
||
|
const result2 = '4d3fce39e3a163fe65263d8283ed3e98244fda42';
|
||
|
expect(sha1(content1)).toStrictEqual(result1);
|
||
|
expect(sha1(content2)).toStrictEqual(result2);
|
||
|
});
|
||
|
|
||
|
test('PWHASH', () => {
|
||
|
const password1 = 'password1';
|
||
|
const salt1 = '0326Bc23E6fac733K01g29fBBUSAj7O4';
|
||
|
const salt2 = String.random(32);
|
||
|
const hash1 = '70a2db6a53ecd75d8d4b19d8647a416b4e812c1a6635c4a1f5069a00382fdcb6';
|
||
|
expect(pwhash(password1, salt1)).toStrictEqual(hash1);
|
||
|
expect(pwhash(password1, salt2)).not.toEqual(hash1);
|
||
|
});
|
||
|
});
|