位置: 编程技术 - 正文

NODE.JS加密模块CRYPTO常用方法介绍(node 加密解密)

编辑:rootadmin

使用require('crypto')调用加密模块。

加密模块需要底层系统提供OpenSSL的支持。它提供了一种安全凭证的封装方式,可以用于HTTPS安全网络以及普通HTTP连接。

该模块还提供了一套针对OpenSSL的hash(哈希),hmac(密钥哈希),cipher(编码),decipher(解码),sign(签名)以及verify(验证)等方法的封装。

crypto.createCredentials(details)

创建一个凭证对象,可选参数details为一个带键值的字典:key:为字符串型,PEM编码的私钥。cert:为字符串型,PEM编码的认证证书。ca:字符串形式的PEM编码可信CA证书,或证书列表。

如果没有给出'ca'的详细内容,那么node.js将会使用默认的公开受信任列表,该表位于 'md5', 'sha', 'sha'等。在近期发行的版本中,openssl list-message-digest-algorithms会显示这些可用的摘要算法。

hash.update(data)

更新hash的内容为指定的data。当使用流数据时可能会多次调用该方法。

hash.digest(encoding='binary')

计算所有传入数据的hash摘要。参数encoding(编码方式)可以为'hex', 'binary' 或者'base'。

crypto.createHmac(algorithm, key)

创建并返回一个hmac对象,它是一个指定算法和密钥的加密hmac。

参数algorithm可选择OpenSSL支持的算法 - 参见上文的createHash。参数key为hmac所使用的密钥。

hmac.update(data)

更新hmac的内容为指定的data。当使用流数据时可能会多次调用该方法。

hmac.digest(encoding='binary')

计算所有传入数据的hmac摘要。参数encoding(编码方式)可以为'hex', 'binary' 或者'base'。

crypto.createCipher(algorithm, key)

使用指定的算法和密钥创建并返回一个cipher对象。

参数algorithm可选择OpenSSL支持的算法,例如'aes'等。在最近的发行版中,openssl list-cipher-algorithms会显示可用的加密的算法。

cipher.update(data, input_encoding='binary', output_encoding='binary')

使用参数data更新要加密的内容,其编码方式由参数input_encoding指定,可以为 'utf8', 'ascii'或者'binary'。参数output_encoding指定了已加密内容的输出编码方式,可以为 'binary', 'base'或'hex'。

返回已加密的内容,当使用流数据时可能会多次调用该方法。

cipher.final(output_encoding='binary')

返回所有剩余的加密内容,output_encoding输出编码为'binary', 'ascii'或'utf8'其中之一。

crypto.createDecipher(algorithm, key)

使用给定的算法和密钥创建并返回一个解密对象。该对象为上述加密对象的反向运算。

decipher.update(data, input_encoding='binary', output_encoding='binary')

使用参数data更新要解密的内容,其编码方式为'binary','base'或'hex'。参数output_encoding指定了已解密的明文内容的输出编码方式,可以为 'binary','ascii'或'utf8'。

decipher.final(output_encoding='binary')

返回全部剩余的已解密的明文,其output_encoding' 为'binary', 'ascii'或'utf8'`其中之一。

crypto.createSign(algorithm)

使用给定的算法创建并返回一个签名器对象。在现有的OpenSSL发行版中,openssl list-public-key-algorithms会显示可用的签名算法,例如:'RSA-SHA'。

signer.update(data)

使用data参数更新签名器对象。当使用流数据时可能会多次调用该方法。

signer.sign(private_key, output_format='binary')

对所有传入签名器的数据计算其签名。private_key为字符串,它包含了PEM编码的用于签名的私钥。

返回签名,其output_format输出可以为'binary', 'hex' 或者'base'。

crypto.createVerify(algorithm)

使用给定算法创建并返回一个验证器对象。它是上述签名器对象的反向运算。

verifier.update(data)

使用data参数更新验证器对象。当使用流数据时可能会多次调用该方法。

verifier.verify(cert, signature, signature_format='binary')

使用参数cert和signature验证已签名的数据,cert为经过PEM编码的公钥字符串,signature为之前已计算的数据的签名,signature_format可以为'binary','hex' 或者'base'。

根据对数据和公钥进行签名有效性验证的结果,返回true或者false。

当你需要一个不可逆的加密代码如何写

当你需要一个加密和解密的环境时

推荐整理分享NODE.JS加密模块CRYPTO常用方法介绍(node 加密解密),希望有所帮助,仅作参考,欢迎阅读内容。

NODE.JS加密模块CRYPTO常用方法介绍(node 加密解密)

文章相关热门搜索词:nodejs加密部署,node 加密解密,nodejs 加密解密,node 加密解密,node加解密,nodejs加密部署,nodejs加密部署,nodejs加密部署,内容如对您有帮助,希望把文章链接给更多的朋友!

nodejs npm install全局安装和本地安装的区别 npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如:npminstallgrunt#本地安装npminstall-ggrunt-cli#全

nodejs npm包管理的配置方法及常用命令介绍 1.输入npmconfigls-l可以查看当前的目录设置;cliconfigslong=true;builtinconfigC:ProgramFiles(x)nodejsnode_modulesnpmnpmrcprefix="C:\Users\sam\AppData\Roaming\npm";defaultvaluesal

Node.js中对通用模块的封装方法 在Node.js中对模块载入和执行进行了包装,使得模块文件中的变量在一个闭包中,不会污染全局变量,和他人冲突。前端模块通常是我们开发人员为了避

标签: node 加密解密

本文链接地址:https://www.jiuchutong.com/biancheng/374331.html 转载请保留说明!

上一篇:nodejs文件操作模块FS(File System)常用函数简明总结(nodejs 文件操作)

下一篇:nodejs npm install全局安装和本地安装的区别

  • 小规模纳税人如何计算增值税
  • 公司注销涉及哪些税务部门
  • 房地产业所得税
  • 应交消费税的税目
  • 动迁补偿款怎么算
  • 一次性加速折旧汇算清缴怎么填报
  • 餐饮业成本的正确表述是
  • 发票认证是干嘛
  • 企业年报修改后,第三方平台多久同步
  • 暂估一直不来票,没有纳税调整怎么办
  • 即征即退项目的进项税额不参与加计抵减
  • 注销公司报表应注意什么
  • 工资扣款做什么科目
  • 刷信用卡的手续费去哪了
  • 工厂采购原材料销售给外贸公司
  • 个人到税务局怎么开增值税普通发票
  • 补贴收入需要缴纳增值税吗为什么
  • 职工福利费用于职工食堂食材补助办法
  • 去新建的外贸公司好不好
  • 购进增值税专用发票怎么填开
  • 代收水电费的会计分录
  • 投资股权投资基金算不算利好
  • 委托加工物资怎么入账
  • 用盈余公积弥补职工福利费是什么类型
  • 企业所得税退税怎么做账务处理
  • window11调节屏幕亮度
  • 股权和投票权的关系是什么关系
  • linux压缩.gz
  • 销货退回未按规则处理
  • 借支单还款后借支单要还么
  • 对方发票丢失情况说明
  • 不开票收入如何纳税申报
  • 发票金额与银行付款金额少几分钱
  • 合伙企业分红所得税如何少交
  • 前端加密后端解密代码
  • 建筑行业有哪些岗位,从事的要求有哪些
  • php artisan key:generate
  • iis安装php环境
  • h5移动端网页设计
  • 毕业设计-基于组态软件的流量比值过程控制系统设计
  • vue-cli2.0
  • php对象是什么类型的数据
  • 无偿划转法律意见
  • 政府无偿划转股权 要做可行性研究
  • 收到客户付款多久到账
  • 退伍军人企业所得税优惠
  • 资产负债率如何
  • 疫情期间增值税减免政策截止时间
  • 建筑业一般纳税人增值税税负
  • 企业支付临时工劳务报酬需要取得发票吗
  • 可供出售金融资产公允价值变动
  • 汇算清缴怎么弥补亏损怎么操作
  • 转出未交增值税年末怎么转平
  • 承兑汇票到期取现手续费
  • 视同销售是按成本价入账还是按计税价格入账,为什么?
  • 计提印花税会计分录怎么写
  • 自来水差额征税申报表填写
  • 筹建期的财务费怎么算
  • 对公提现是什么意思啊
  • 发票项目名称可以自定义吗
  • 刻章发票可以抵扣吗
  • 无形资产是当月计提折旧吗
  • 企业应当设立什么负责企业安全生产的日常监督管理工作
  • sqlserver连接异常
  • xp系统如何打印文件
  • macpr预设
  • linux管理工具有哪些
  • linux系统的文件怎么导出来
  • win7系统安装谷歌浏览器
  • lsass.exe是什么病毒
  • c++lambda函数
  • android.json
  • javascript:openattachment
  • js中的$是什么意思
  • 深入理解android内核
  • jquery validate表单校验html
  • unity打包后的程序闪退
  • css图片渐变效果
  • 安卓手机电驴
  • 江西省国家税务局网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设