导航:首页 > 文档加密 > js实现sha256加密

js实现sha256加密

发布时间:2023-09-19 00:43:23

⑴ 登录加密

使用sha256加密方式

原理:前端获取随机值,进行多次加密后下发给后端比对后端同样方式加密出来的密码的结果是否一致。

Sha256加密的出来的数据是不可逆的没有解密。

import CryptoJS from "crypto-js";//使用crypto-js的moles

//对密码进行加密

 let encryptedPwd = encodePwd(password, {

            challenge: Challenge,//先获取的随机值

            userName:username,

            salt: '',

            iIterate: 20  //加密20次

          }, false);

 //密码加密

  encodePwd(szPwd, encodeParam, bIrreversible) {

    let encodeKey = '';

      //secretKey is challenge

      encodeKey = this.sha256(szPwd) + challenge;

      for (let i = 1; i < encodeParam.iIterate; i++) {

       encodeKey = this.sha256(encodeKey);

    return encodeKey; //返回加密结果

  }

⑵ hmac-sha256-hex算法怎么调用

题主可以考虑使用CryptoJS这个库,包含很多种加密方式,而且采用了RequireJS,既支持NodeJS服务端也支持普通浏览器客户端。文档写的也很详实。GitHub传送门:/brix/crypto-js

⑶ 关于腾讯云短信接口的sig字段,sha256加密问题,nodejs

按照我下面的写法哈:

constcrypto=require('crypto');
functionsig()
{
varstrMobile="这里是我的手机";//tel的mobile字段的内容
varstrAppKey="这里是我的key";//sdkappid对应的appkey,需要业务方高度保密
varstrRand="7226249334";//url中的random字段的值
varstrTime="1457336869";//unix时间戳
varbuf="appkey="+strAppKey+"&random="+strRand+"&time="
+strTime+"&mobile="+strMobile;
varsig=crypto.createHash('sha256').update(buf,'utf-8').digest('hex');
returnsig;
}
console.log(sig());

输出结果如下:

原因就是文档里面强调了编码要使用 utf-8,而 js 默认编码不是这个,所以需要强制指定下。

另外这个 sig 的计算结果是和你的输出参数有关的,并不是不变的。

还有就是你的 mobile 和 appkey 怎么传递的都是中文,官方给的貌似都是数字和字母呃。

⑷ 在C#中的sha256加密和js中的sha256加密

C#自带的类库实现sha265会返回一个byte[] 数组

这个数组的长度是32,js的sha265是64,是把每个byte直接转换成了2个hex字符串。

C#中加密后是44位是因为把这个数组用base64编码成了字符串。

C#中也直接把byte转换成对应的hex字符串就和js中一样了。

另外,把str转换成byte[]数组的Encoding 如果不同,sha是不同的,一般js的都是utf8.

请参考

publicstaticstringSHA256(stringstr)
{
//如果str有中文,不同Encoding的sha是不同的!!
byte[]SHA256Data=Encoding.UTF8.GetBytes(str);

SHA256ManagedSha256=newSHA256Managed();
byte[]by=Sha256.ComputeHash(SHA256Data);

returnBitConverter.ToString(by).Replace("-","").ToLower();//64
//returnConvert.ToBase64String(by);//44
}

staticvoidMain(string[]args)
{
strings="helloworld";
//sha265=
stringsha=SHA256(s);
Console.WriteLine("{0} {1} Length:{2}",s,sha,sha.Length);
}
阅读全文

与js实现sha256加密相关的资料

热点内容
ie文件夹禁止访问 浏览:543
百川互联网程序员 浏览:781
linuxpython解释器 浏览:665
兴安得力软件加密狗 浏览:490
智能网络摄像头加密 浏览:574
软件毕业程序员培训 浏览:650
安卓陀螺仪低怎么办 浏览:247
一级建造师复习题集pdf 浏览:903
法理学pdf海默 浏览:390
服务器内存储器是用什么的 浏览:819
微帮同城分类信息源码 浏览:808
安卓系统ad是什么 浏览:471
python输出中不加占位符 浏览:596
linux文件夹权限控制 浏览:730
雅虎邮箱怎么加密码 浏览:819
为什么安卓手机登录不了苹果账号 浏览:537
如何复制usb加密狗 浏览:801
哪个app看你微笑时很美 浏览:908
mac启动命令 浏览:602
ngc服务器是什么的简称 浏览:75