简介
MILENAGE 算法是一种用于移动通信业务中的安全鉴别算法,它是一个对称密码算法,用于 3GPP 网络中的 UMTS 和 LTE 移动通讯标准。而 npm 包 milenage 则是使用 JavaScript 实现的 MILENAGE 算法的 npm 包。拥有该 npm 包可以让前端开发者在对移动通讯标准进行加密解密时更加方便。
安装
npm install milenage
方法
1. setOP(op)
该函数用于设置 128 位操作密钥 op。
import MILENAGE from 'milenage'; const op = '000102030405060708090a0b0c0d0e0f'; let milenage = new MILENAGE(op);
2. setAMF(amf)
该函数用于设置 AMF 号。
milenage.setAMF('8000');
3. setKeySequenceNumber(kseq)
该函数用于设置 Key Sequence Number。
milenage.setKeySequenceNumber(5); //KSIASME = 5, KSISERV = 5
4. f1Rand(f1_rnd)
MILENAGE 算法中的 F1 函数。f1_rnd 是一个随机数。该函数返回 32 位数字签名作为答复,实现客户端 与 服务器之间的端到端认证。
let f1_rnd = "809AF274EC3195C9"; let res = milenage.f1Rand(f1_rnd); //将返回 32 位数字签名
5. f2345Rand(f2_rnd, f5_rnd)
MILENAGE 算法中的 F2-F5 函数。f2_rnd 和 f5_rnd 都是随机数。该函数返回值是一个对象,包含了 F2-F5 函数的计算结果。
let f2_rnd = "D9E2759EAE41A2D8"; let f5_rnd = "EAF0BF099D2B112B"; let res = milenage.f2345Rand(f2_rnd, f5_rnd); //将返回包括 XRES, CK, IK 和 AK 的对象
示例
通过设置操作密钥,AMF 号和 Key Sequence Number,可以使用 milenage 的不同函数对消息进行加密和解密。
-- -------------------- ---- ------- ------ -------- ---- ----------- ----- -- - ----------------------------------- --- -------- - --- ------------- ------------------------ --------------------------------- --- ------ - ------------------- --- ------ - ------------------- --- ------ - ------------------- --- --------- - ------------------------ --- ------ - -------------------------- -------- ------------------------- ----------- ---------------------- --------
以上就是 npm 包 milenage 的使用教程。通过简单的设置,前端开发者可以轻松使用 MILENAGE 算法对移动通讯标准进行加密解密。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005625881e8991b448df951