# sm4-password **Repository Path**: daoio/sm4-password ## Basic Information - **Project Name**: sm4-password - **Description**: hash散列的密码验证。 - **Primary Language**: JavaScript - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-09-25 - **Last Updated**: 2025-12-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sm4-password Node.js上的基于sm4算法的密码生成和验证扩展。 ## 安装 ```javascript npm i sm4-password ``` ## 基本使用 ```javascript 'use strict' const sm4pass = require('sm4-password') let pass = new sm4pass() //用于加密salt,不足16位会填充,超过则会截断。 pass.key = '1qazxs' //生成的salt长度,默认为10,最大为20。 pass.saltLength = 9 let org_passwd = '111222ooo' //生成hash password let hash_passwd = pass.make(org_passwd) //正确的验证和错误的验证对比 let vp = pass.verify(org_passwd, hash_passwd) let vp_fail = pass.verify('222333', hash_passwd) console.log(hash_passwd, vp, vp_fail) ``` ## make(passwd, encrypt = true)方法 make方法支持第二个参数为false表示不使用加密,此时生成的hash_password没有加密salt。 ## hashMap(salt, passwd) hashMap接受一个函数类型的值,用于生成拼接后的字符串。可以设定自己的拼接方式: ```javascript pass.hashMap = (salt, passwd) => { return `${salt}-${passwd}` } ```