当前位置: 首页 > news >正文

nodejs与php混合,php与nodejs的加密数据互通

nodejs的加密解密代码示例如下:#!/usr/bin/env node

var crypto = require('crypto');

//解密

function decode(cryptkey, iv, secretdata) {

var

decipher = crypto.createDecipheriv('aes-256-cbc', cryptkey, iv),

decoded = decipher.update(secretdata, 'base64', 'utf8');

decoded += decipher.final( 'utf8' );

return decoded;

}

//解密

function encode(cryptkey, iv, cleardata) {

var

encipher = crypto.createCipheriv('aes-256-cbc', cryptkey, iv),

encoded = encipher.update(cleardata, 'utf8', 'base64');

encoded += encipher.final( 'base64' );

return encoded;

}

var

cryptkey = crypto.createHash('sha256').update('__tazai_wolf__key').digest(),

iv = '1234567890000000',

buf = "Hello World",

enc = encode( cryptkey, iv, buf );

var dec = decode(cryptkey, iv, enc);

function b64enc(data) {

var b = new Buffer(data, 'binary');

return b.toString('base64');

}

console.warn("Encoded length: ", enc);

console.warn("Decoded all: " + dec);

请问php能相应的加密解密代码应该如何写?

要求能解上面加密后的如:Gpkr1WGBFhMvNd/Hr0eaBg==

也能加密数据给nodejs进行解密。

相关文章:

  • php参数特殊字符,PHP中URL中特殊字符引起的问题(+,=) 分析及解决方法
  • php 鼠标点击其他区域下拉框隐藏,jQuery除指定区域外点击任何地方隐藏DIV功能...
  • java 日期转换星期,关于JAVA的小工具(日期转周几)
  • PHP的经典程序,几款经典php分页程序(1/4)
  • java gzip加解秘,vue 基于pako.js实现gzip的压缩和解压功能
  • matlab每一行白点个数,MATLAB 简单的计算白色轮廓中像素点的个数
  • java 类共享变量,Java提供了ThreadLocal(java.lang)类,实现线程内共享变量
  • Java第三方语音包发声,JDK中的包和他们的基本功能
  • python mock数据,python学习开发mock接口
  • php syslog 514,syslog详解及配置远程发送日志和远程日志分类
  • 兰春 MySQL,MySQL中经典的too many connection怎么破
  • php后台处理传来的图片文件,如何处理展示后台程序实时生成的文件?
  • php遍历json键值对,JS实现键值对遍历json数组功能示例
  • php服务器cpu要求,如何分析服务器需要什么样的配置(CPU、内存、带宽等)
  • oracle查看表的字段个数据,oracle逆向查询某个字段内容所存在的数据表名称
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • Django 博客开发教程 16 - 统计文章阅读量
  • Next.js之基础概念(二)
  • PAT A1050
  • PHP那些事儿
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 官方解决所有 npm 全局安装权限问题
  • 批量截取pdf文件
  • 日剧·日综资源集合(建议收藏)
  • 入手阿里云新服务器的部署NODE
  • 移动端唤起键盘时取消position:fixed定位
  • 怎么将电脑中的声音录制成WAV格式
  • Linux权限管理(week1_day5)--技术流ken
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​linux启动进程的方式
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (70min)字节暑假实习二面(已挂)
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (十一)c52学习之旅-动态数码管
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • /etc/shadow字段详解
  • @Service注解让spring找到你的Service bean
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [<事务专题>]
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术
  • [C#基础]说说lock到底锁谁?
  • [C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】
  • [ffmpeg] aac 音频编码
  • [GXYCTF2019]禁止套娃