首页 > 其他分享 >crypto加密

crypto加密

时间:2023-02-02 14:02:34浏览次数:42  
标签:function 加密 require crypto encode arguments var

/* hash.js */
var crypto = require('crypto');
module.exports = function(){
this.encode = function(){
var algorithm = arguments[0] ? arguments[0] : ''
, enstring = arguments[1] ? arguments[1] : ''
, returnType = arguments[2] ? arguments[2] : '';
if( algorithm ){
var hash = crypto.createHash(algorithm);
hash.update(enstring);
return hash.digest(returnType);
}
console.log('Please input encryption param');
}
}

/* target.js */
module.exports = function(){
this.encode = function(){}
this.decode = function(){}
}

/* adapter.js */

var util = require('util'),
Target = require('./target');

function Adapter(){
Target.call(this);
this.encode = function(){
var encodeModule = arguments[0] ? arguments[0] : null
, algorithm = arguments[1] ? arguments[1] : ''
, enstring = arguments[2] ? arguments[2] : ''
, returnType = arguments[3] ? arguments[3] : ''
,AdapteeClass = require("./" + encodeModule)
,adapteeObj = new AdapteeClass();
return adapteeObj.encode(algorithm, enstring, returnType, encodeKey, encodeType);
}
}

util.inherits(Adapter,Target);
module.exports = Adapter;

/* test.js */
var AdapterClass = require('./adapter');
var Adapter = new AdapterClass();
var hashEncodeStr = Adapter.encode('hash', 'md5', 'yuejide', 'hex');
console.log(hashEncodeStr);

var http = require('http');
var crypto = require('crypto')
http.createServer(function(req,res){
res.writeHead(200, {'Content-Type' : 'text/html'});
var md5 = crypto.createHash('md5');
var passwd = md5.update('admin').digest('hex');
res.end(passwd);
}).listen(8888);

 



标签:function,加密,require,crypto,encode,arguments,var
From: https://blog.51cto.com/u_2820398/6033538

相关文章

  • Dnguard旗舰版 在线加壳加密服务
    提供.net程序的在线加密服务用户自己选择加密选项参数,上传要加密软件压缩包,后台加密完成后直接返回下载压缩包。加密工具DNGuard旗舰版(EnterpriseEdition)技术优势......
  • Springboot数据库配置文件加密
    引入工具依赖包:!--配置文件加密--><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>1.......
  • LabVIEW|小技巧1:秒破加密的vi文件方法
    可以利用专门的网站进行vi文件的解密,网站如下:​​https://www.hmilch.net/h/labview​​步骤:点击-选择按钮->空白框里输入“YES"->点击-提交;成功后下载解密的vi文件(注:此vi文......
  • 【加密与解密】第六章③
    4.攻击RSA保护一般先通过跟踪分析得到n,再将n因式分解,求出私钥d。ElGamal公钥算法安全性依赖于在有限域上计算离散对数的困难性。1.算法原理2.算法在加密上的应用......
  • 使用凯撒加密法进行加密解密
    凯撒加密法凯撒加密法,或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个......
  • 使用rot13加密解密
    使用ROT13加密解密ROT13(回转13位)是一种简易的替换式密码算法。它是一种在英文网络论坛用作隐藏八卦、妙句、谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥......
  • 使用base64编码加密解密
    Base64编码简介Base64这个术语最初是在“MIME内容传输编码规范”中提出的。Base64不是一种加密算法,虽然编码后的字符串看起来有点加密的赶脚。它实际上是一种“二进制到文......
  • 手机号加密
    /***中间加密字符串截取法*/functionencryptTel1($tel1){$new_tel=substr($tel,0,3).'****'.substr($tel,7);return$new_tel;}/***中间......
  • 【加密与解密】第六章②
    BlowFish算法这是一个64位分组及可变秘钥长度的分组密码算法,非专利。1.算法原理给予feistal网络(替换/置换网络的典型代表),加密函数迭代执行16轮。分组长度为64位。秘钥长......
  • 【加密与解密】第六章①
    现有的系列号加密算法大都是软件开发者自行设计的,大部分都相当简单。此外还有很多成熟的算法可以使用,例如密码学中一些强度比较高的算法。单向散列算法单向散列算法也称h......