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

热点内容
pdf推文 浏览:353
69程序员 浏览:577
阿里云服务器镜像如何迁移到腾讯 浏览:979
安卓如何显示日期在状态栏 浏览:800
cadsplt这个命令用不了 浏览:463
安卓夸克怎么取消监管 浏览:662
pdf怎么裁剪图片 浏览:436
黑上宏命令 浏览:644
mac解压压缩包有密码 浏览:704
命令与征服知乎 浏览:561
小时代pdf 浏览:221
化工设备第三版答案pdf 浏览:465
防火卷帘控制器单片机程序 浏览:16
rdlcpdf 浏览:109
链表实现快速排序python 浏览:590
php输出命令 浏览:987
d站app叫什么名字 浏览:172
oppor系列如何解除应用加密 浏览:601
程序员那么可爱姜逸城初恋 浏览:499
modbustcp编程 浏览:493