C#代码:

    class Program
{
static void Main(string[] args)
{
Console.WriteLine("encrypted as: {0}", TripleDESEncrypt("", "abcdefghijklmnop", "pgfYadhCout=", false)); }
public static string TripleDESEncrypt(string toEncrypt, string key, string iv, bool useHashing)
{
byte[] keyArray;
byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);
byte[] ivArray = Convert.FromBase64String(iv); if (useHashing)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
}
else
keyArray = UTF8Encoding.UTF8.GetBytes(key); var tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.IV = ivArray;
// tdes.Mode = CipherMode.CBC; // which is default
// tdes.Padding = PaddingMode.PKCS7; // which is default ICryptoTransform cTransform = tdes.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, ,
toEncryptArray.Length);
return Convert.ToBase64String(resultArray, , resultArray.Length);
}
}

NodeJS的javascript代码:

var crypto = require('crypto');
var alg = 'des-ede-cbc';
var key = new Buffer('abcdefghijklmnop', 'utf-8');
var iv = new Buffer('pgfYadhCout=', 'base64'); var EncryptDES = function (data) {
var cipher = crypto.createCipheriv(alg, key, iv);
var encoded = cipher.update(data, 'ascii', 'base64');
encoded += cipher.final('base64');
return encoded;
}; var DecryptDES = function (data) {
var encrypted = new Buffer(data, 'base64');
var decipher = crypto.createDecipheriv(alg, key, iv);
var decoded = decipher.update(encrypted, 'binary', 'ascii');
decoded += decipher.final('ascii');
return decoded;
};

最新文章

  1. CentOS MySQL 配置
  2. 多态与异常处理ppt作业
  3. ViewHolder数据错乱BUG
  4. php继承、多态
  5. C# 调用百度地图Web服务API
  6. JDBC数据库编程基本流程
  7. 别人网站生成的json
  8. CSS3技巧:利用css3径向渐变做一张优惠券(转)
  9. Tomcat下的一些配置
  10. 快速建立Linux c/c++编译环境
  11. 英蓓特Mars board的android4.0.3源码编译过程
  12. 【nodejs】安装browser-sync 遇到错误提示
  13. python timeit模块用法
  14. C++多态及其实现原理
  15. 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
  16. pytorch查看模型weight与grad
  17. Android/IOS 微信及浏览器(h5)中唤起本地APP,唤起浮层,然后用外部浏览器打开唤起某本地APP
  18. 秒懂HTTPS
  19. [ACM-ICPC 2018 徐州赛区网络预赛][D. Easy Math]
  20. gSOAP 初体验

热门文章

  1. Matlab之文件读写
  2. AI-->从新建文档开始说起,串联相关色彩知识
  3. [CAMCOCO][C#]我的系统架构.服务器端.(三)----Model层
  4. Swiper之滑块3
  5. K3Cloud单据转换获取源单数据
  6. iOS 自定义view里实现控制器的跳转
  7. 利用 NUget包 EPPlus 实现数据导出到Excel(适用于MVC)
  8. 3DES 加解密,对长度不限制
  9. JQuery自定义属性的设置和获取
  10. JAVA:数组,排序,查找<4>