导航:首页 > 文档加密 > 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加密相关的资料

热点内容
文电通pdfgold 浏览:853
上传图片的时候怎么压缩 浏览:31
千寻服务器地址 浏览:812
ssh命令教程视频 浏览:401
苹果商店怎么更新所有app 浏览:34
电影香港加密 浏览:595
压缩机毛细管滴水 浏览:850
可视化编程网页 浏览:389
工厂附近租房用什么app 浏览:186
老板改需求甩锅程序员 浏览:657
乐猫app是什么平台 浏览:922
方舟手游如何修改服务器后台 浏览:815
程序员考试教程 浏览:219
文件名修改为文件夹的名字批处理 浏览:251
拍照程序员 浏览:827
wps怎么把pdf转jpg 浏览:217
自拍用什么app做的艺术照 浏览:169
h3c无线配置命令 浏览:515
linux代码阅读工具 浏览:160
能够画出对称图形的是什么app 浏览:424