SHA-256算法原理及C#和JS的实现方法

分类:知识百科 日期: 点击:0

SHA-256算法原理

SHA-256算法是一种安全散列算法,由美国国家安全局(NSA)提出,是SHA-2家族的一个成员,是美国政府的安全标准,用于确保信息传输安全。SHA-256算法的输入是任意长度的数据,输出是一个256位的散列值。SHA-256算法的特点是输出的长度是固定的,且算法具有不可逆的特性,即不可从散列值反推原文。

C#实现方法

C#实现SHA-256算法的方法如下:

//使用System.Security.Cryptography命名空间
using System.Security.Cryptography;

//获取SHA-256算法
SHA256 sha256 = SHA256.Create();

//输入原文
string source = "Hello World";

//将原文转换成字节数组
byte[] sourceBytes = Encoding.Default.GetBytes(source);

//计算散列值
byte[] hashBytes = sha256.ComputeHash(sourceBytes);

//将散列值转换成字符串
string hash = BitConverter.ToString(hashBytes).Replace("-", "");

//输出结果
Console.WriteLine(hash);

JS实现方法

JS实现SHA-256算法的方法如下:

//输入原文
var source = "Hello World";

//将原文转换成字节数组
var sourceBytes = new TextEncoder("utf-8").encode(source);

//计算散列值
var hashBytes = await crypto.subtle.digest("SHA-256", sourceBytes);

//将散列值转换成字符串
var hash = Array.from(new Uint8Array(hashBytes)).map(b => b.toString(16).padStart(2, '0')).join('');

//输出结果
console.log(hash);
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。