先来复习一下:
昨天做的是取得Nonce及HashID的部分,今天就来讲要怎麽算IV值吧!
既然顺利拿到了Nonce值後,就可以继续加工来产出IV值,有点懒所以直接引用Spec原文:
产出 IV 值前必须要先行取得 Nonce 後才能产生,计算方式是将取得的 Nonce 值作
SHA256
加密後,再将英文转换成大写取字串右边 16 码长度
C#有提供许多原生的方法来实践SHA256的运算(其实这边应该是指杂凑,官方上不知为何是写加密,两个其实是不一样的,打算之後再来补充)
因为方法实在太五花八门了,不过概念是雷同的,这边使用.Net Core作为范例:
首先要引用这个命名空间:
using System.Security.Cryptography;
再来,打包成method,将来实作上会更为方便
public static string Get_SHA256_Hash( string value )
{
using var hash = SHA256.Create();
var byteArray = hash.ComputeHash( Encoding.UTF8.GetBytes( value ) );
return Convert.ToHexString( byteArray ).ToLower();
}
取得回传值後,记得必须再用 ToUpper()
来确保转换完的字串都是大写喔
最後,右边16码长度怎麽拿呢?这真的是个超直觉的方法XD
string result = input.Right(16);
就完成拉~是不是很简单呀?(不过整个流程概念还是挺复杂的啦..
最後结果的IV值应该会像酱"CB6FA68E42B655AB"
明天会继续介绍如何用C#用AES CBC来无脑产生加密的内文讯息,See you!
<<: Day 03 Benefits and Constraints of Embedded Systems
>>: NetSuite Order to Cash flow - Fulfill Sales Order
前言 随着时间的流逝,整个活动也接近了尾声,但在真正结束前都还是要好好地发表,今天笔者想为各位介绍一...
前言: 随着网路时代普及生活化,各国政府对IT资讯产业也推行了相当多的管理法案以维护网际网路使用...
关於 Separation of concerns(SoC)这个地方我觉得别人写的已经很清楚了(英文...
今天要跟大家介绍 在 ubuntu 安装 Zabbix Agent 时,设定的 Template O...
在昨天的影片中提到了输入命令以及输出命令,这两种是程序之中非常基本的命令,今天就稍微进阶一点,让输出...