mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
7b68a543bf
Uses the crypt() function to do password encryption. This function handles several schemes such as: MD5, Blowfish, SHA1, SHA2. SHA-512 is used in Authelia for best security. The algorithm is fully described in https://www.akkadia.org/drepper/SHA-crypt.txt The 'crypt3' npm package has been added as a dependency to use the crypt() function. The package needs to be compiled in order to call the c function, that's why python, make and C++ compiler are installed temporarily in the Docker image.
18 lines
828 B
TypeScript
18 lines
828 B
TypeScript
import Assert = require("assert");
|
|
import { HashGenerator } from "../../src/lib/utils/HashGenerator";
|
|
|
|
describe("test HashGenerator", function () {
|
|
it("should compute correct ssha512 (password)", function () {
|
|
return HashGenerator.ssha512("password", "jgiCMRyGXzoqpxS3")
|
|
.then(function (hash: string) {
|
|
Assert.equal(hash, "{CRYPT}$6$rounds=500000$jgiCMRyGXzoqpxS3$w2pJeZnnH8bwW3zzvoMWtTRfQYsHbWbD/hquuQ5vUeIyl9gdwBIt6RWk2S6afBA0DPakbeWgD/4SZPiS0hYtU/");
|
|
});
|
|
});
|
|
|
|
it("should compute correct ssha512 (test)", function () {
|
|
return HashGenerator.ssha512("test", "abcdefghijklmnop")
|
|
.then(function (hash: string) {
|
|
Assert.equal(hash, "{CRYPT}$6$rounds=500000$abcdefghijklmnop$sTlNGf0VO/HTQIOXemmaBbV28HUch/qhWOA1/4dsDj6CDQYhUgXbYSPL6gccAsWMr2zD5fFWwhKmPdG.yxphs.");
|
|
});
|
|
});
|
|
}); |