node.js混淆加密后文件在哪

JavaScript015

node.js混淆加密后文件在哪,第1张

node.js混淆加密后文件在自己默认的存储地方。一般情况下不需要,因为代码跑在云端服务器上啊。只要服务器安全,Node.js代码哪怕是明文,也是安全的。需要代码部署在不信任的环境。一旦把Node.js源代码在甲方的服务器进行打包或上线,那甲方就可以轻易地查看,分析,篡改和复制代码。

RSA算法原理 阮一峰

1、在node.js中使用rsa算法。首先需要是使用node-rsa包

2、实现加密/解密

客户端需要使用一个jsencrypt.min.js 包利用公钥对数据进行加密

以上运行时可以会出现如下错误

出现如上错误的时候,是服务端的加密方法和jsencrypt的加密方式不一致导致的。jsencrypt加密方式是pkcs1,node-rsa 默认的加密方式是pkcs1_oaep。解决办法如下:

只用crypto.createHash('md5')创建一个md5加密的hash,因为创建的md5加密只能对每个加密字符串使用一次,所以需要每次加密的时候都创建一个新的md5加密块

update告诉md5加密需要对哪个字符串进行加密,可以多次调用,多次调用的结果类似于使用md5.update(str1+str2)也就是说

加密出来的效果是一样的

调用digest()对update传入的字符串或者二进制数据进行加密,可以传入加密后显示的格式作为参数,可接受的参数:hex(16进制)、base64(base64格式)等,一般选用的是hex格式,一旦调用了digest之后,这个md5加密串就完成使命了,再次调用md5.update或者digest都会提示错误,这个时候要想对其他数据进行加密的话,需要创建一个新的加密字串算法

这类算法允许我们对一个字符串或者二进制数据进行加密,然后在解密出来使用,以AES算法来举例

类似于hash算法的使用,nodejs提供了两种创建AES算法的方式,一种需要使用加密向量createDecipheriv,一种是不需要使用加密向量的createDecipher,一般我们要使自己的加密出来的结果和java等其他语言加密的结果相等的话,就需要使用第一种方式,传递一个空字符串作为向量,注意这里的key的长度需要为16位字符长度,也就是128的字节长度,因为我们使用的是aes-128-ecb的加解密算法,也就是key需要为128字节长度即16个字符串的长度