Moved code into src folder. Added build for component library.
This commit is contained in:
23
src/lib/crypto.js
Normal file
23
src/lib/crypto.js
Normal file
@@ -0,0 +1,23 @@
|
||||
import { startOfMonth } from 'date-fns';
|
||||
import { hash } from 'next-basics';
|
||||
import { v4, v5, validate } from 'uuid';
|
||||
|
||||
export function secret() {
|
||||
return hash(process.env.APP_SECRET || process.env.DATABASE_URL);
|
||||
}
|
||||
|
||||
export function salt() {
|
||||
const ROTATING_SALT = hash(startOfMonth(new Date()).toUTCString());
|
||||
|
||||
return hash(secret(), ROTATING_SALT);
|
||||
}
|
||||
|
||||
export function uuid(...args) {
|
||||
if (!args.length) return v4();
|
||||
|
||||
return v5(hash(...args), v5.DNS);
|
||||
}
|
||||
|
||||
export function isUuid(value) {
|
||||
return validate(value);
|
||||
}
|
||||
Reference in New Issue
Block a user