Node.js的DES加解密和MD5加密
最基本的就是经常用的md5加密算法
代码如下
- var MD5=function (data) {
- var _encrymd5 = require('crypto').createHash('md5');
- var Buffer = require("buffer").Buffer; //解决中文不一致的BUG
- var buf = new Buffer(data);
- var str = buf.toString("binary");
- _encrymd5.update(new Buffer(str).toString("binary"));
- return _encrymd5.digest('hex').toUpperCase();;
- }
因为md5是哈希算法 一般哈希算法都是不可逆的
用CreateHash创建一个对象
用update来加密 digest来输出结果 参数是输出的编码格式
DES加解密
因为DES不是哈希所以加密用createCipheriv解密用createDecipheriv的方法
代码如下
- var cipheriv = function (en, code, data) {
- var buf1 = en.update(data, code), buf2 = en.final();
- var r = new Buffer(buf1.length + buf2.length);
- buf1.copy(r); buf2.copy(r, buf1.length);
- return r;
- };
- var EncryptDES=function (data, key, vi) {
- return data = cipheriv(_crypto.createCipheriv('des', key, vi), 'utf8', data).toString('base64');
- };
- var DecryptDES= function (data, key, vi) {
- return cipheriv(_crypto.createDecipheriv('des', key, vi), 'base64', data) .toString('utf8');
- };
data就是加解密的数据 key 就是密钥 vi就是 密钥向量
EncryptDES是加密 DecryptDES是解密
Node.js的DES加解密和MD5加密的更多相关文章
- javascript JS CryptoJS DES加解密CBC模式与C#DES加解密相同互通
我们只知道不同的语言解密要相互通用,就需要遵循相同的加密方式,然而在具体做技术预研的时候,就发现会遇到很多问题,网上找的资料也是比较片面,所以我踩了坑,并且把解决方案和相关资料源码提供出来,给需要的朋 ...
- C# RSA加解密和MD5加密
1.RSA加密 /// <summary> /// 加密处理 /// </summary> /// <param name="content"> ...
- DES,AeS加解密,MD5,SHA加密
1.DES一共就有4个参数参与运作:明文.密文.密钥.向量.其中这4者的关系可以理解为: 密文=明文+密钥+向量: 明文=密文-密钥-向量: 为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复, ...
- JavaScript与C#互通的DES加解密算法
原文地址:传送门 本文提供了一个能使JavaScript与C#互通的DES加解密算法的实现,在前台页面中用JavaScript版本的DES算法将数据加密之后,传到服务器端,在服务器端可用C#版本的DE ...
- JavaScript与C#互通的DES加解密算法的实现(转)
本文提供了一个能使JavaScript与C#互通的DES加解密算法的实现,在前台页面中用JavaScript版本的DES算法将数据加密之后,传到服务器端,在服务器端可用C#版本的DES解密算法将其解密 ...
- 一个java的DES加解密类转换成C#
原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //i ...
- DES加解密算法Qt实现
算法解密qt加密table64bit [声明] (1) 本文源码 大部分源码来自:DES算法代码.在此基础上,利用Qt编程进行了改写,实现了DES加解密算法,并添加了文件加解密功能.在此对署名为b ...
- Java Des加解密方法(c#加密Java解密)
最近我们用Java把一个用.net编写的老系统重新做了翻版,但是登录还是用.net的登录.这样就会遇到一个比较棘手的问题,我们登录用的cookie信息都是.net用des加密的,但我们不得不用Java ...
- DES加解密 cbc模式 的简单讲解 && C++用openssl库来实现的注意事项
DES cbc是基于数据块加密的.数据块的长度为8字节64bit.以数据块为单位循环加密,再拼接.每个数据块加密的秘钥一样,IV向量不同.第一个数据快所需的IV向量,需要我们提供,从第二个数据块开始, ...
随机推荐
- codeforce好地方啊 Bear and Elections *
Codeforces Round #318 居然可以看测试数据,哪里没过一目了然,哈哈哈 #include<cstdio> #include<iostream> #includ ...
- list[C++]
//双向链表 #include <iostream> using namespace std; #include <list> int main(int argc, const ...
- android之HttpURLConnection(转)
android之HttpURLConnection 1.HttpURLConnection连接URL1)创建一个URL对象 URL url = new URL(http://www.baidu.com ...
- sp_executesql的用法
之前做项目的时候负责一个成绩分析的模块儿,写存储过程的时候因为考试的科目是不固定的,所以导致查找成绩的sql语句也是动态的,就用到了sp_executesql,下面就来说一说它的用法 需求:表名是动态 ...
- opengl典型例程立方体投影与地图绘制
立方体投影 http://www.cnblogs.com/opengl/p/3790450.html 地图绘制 http://www.cnblogs.com/opengl/p/3790354.html
- 关于如何在MFC工程中输入不同的数据进行调试
我们可以采用c++的文件输入输出来进行调试 这样就绕过了不能使用黑窗口输入数据就不能调试的思维定式 不是黑窗口的我们都可以考虑用文件流输入输出 或者用控件来输入? http://blog.csdn.n ...
- OGNL表示式使用和值栈
另外值得参考博客:http://blog.csdn.net/resigshy/article/details/7560573 OGNL是Object Graphic Navigation Langua ...
- 【SQL Sever】SQL Sever数据库重命名
将SQL数据库重命名,会有两种情况: 1.未使用的数据库 方法:未使用的数据库改名比较方便,找到你要更改的数据库,右键选择[重命名] 然后就可以重新起名字了,重新起名字之后,点击其他的空白处就可以了, ...
- kylin学习笔记
阅读官网,学到哪就写到哪 1.需要先建立Model 2.kylin需要配置事实表,纬度表:可以自定义join. 我的用法和官方建议的不同,我是直接在hive中将所有的取join成一个单表,再根据单表 ...
- 在C#程序中实现插件架构
阅读提示:这篇文章将讲述如何利用C#奇妙的特性,实现插件架构,用插件(plug-ins)机制建立可扩展的解决方案. 在.NET框架下的C#语言,和其他.NET语言一样提供了很多强大的特性和机制.其中一 ...