您的位置:首页 > 健康 > 美食 > 广州有什么好玩的_洛可可设计公司总部_优秀网页设计公司_开发一个小程序一般需要多少钱呢

广州有什么好玩的_洛可可设计公司总部_优秀网页设计公司_开发一个小程序一般需要多少钱呢

2025/5/11 10:01:30 来源:https://blog.csdn.net/oNuoZuo/article/details/143414404  浏览:    关键词:广州有什么好玩的_洛可可设计公司总部_优秀网页设计公司_开发一个小程序一般需要多少钱呢
广州有什么好玩的_洛可可设计公司总部_优秀网页设计公司_开发一个小程序一般需要多少钱呢

nodejs 15版本 以上,核心库就没有rc4加密了,三方库也各种问题,自己实现了一个方便今后使用。

加密解密都是这一个方法,RC4为对称加密,传入加密的内容就解密了,传入没加密的内容就自动加密了。

function rc4(data, key) {if (typeof key != 'string') {return null;}if (!Buffer.isBuffer(data)) {if (typeof data == 'string') {data = Buffer.from(data, 'utf-8');} else {return null;}}key = Buffer.from(key);var s = new Array(256);var k = new Array(256);var output = [];var i, j, temp;for (i = 0; i < 256; i++) {s[i] = i;k[i] = key[i % key.length];}for (i = j = 0; i < 256; i++) {j = (j + s[i] + k[i]) % 256;temp = s[i];s[i] = s[j];s[j] = temp;}i = j = 0;for (var n = 0; n < data.length; n++) {i = (i + 1) % 256;j = (j + s[i]) % 256;temp = s[i];s[i] = s[j];s[j] = temp;output.push(data[n] ^ s[(s[i] + s[j]) % 256]);}return Buffer.from(output);},

补充以下,如果发现加密和其他语言的不一样,可以看下传入的data key,他们本质上就是一个数组,但是文本转换数组的过程有很多,比如直接取字节码,直接到char[],数组不同导致加解密的结果不同。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com