本文整理汇总了C#中IDigest.Digest方法的典型用法代码示例。如果您正苦于以下问题:C# IDigest.Digest方法的具体用法?C# IDigest.Digest怎么用?C# IDigest.Digest使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDigest
的用法示例。
在下文中一共展示了IDigest.Digest方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EMSA_PKCS1_v1_5_Encode
private static byte[] EMSA_PKCS1_v1_5_Encode(byte[] input, int emLen, IDigest hash)
{
hash.Update(input, 0, input.Length);
var h = hash.Digest();
byte[] t;
using (var mem = new MemoryStream())
{
var derWriter = new DERWriter(mem);
derWriter.Write(new ASN1Sequence(new ASN1Object[]
{
new ASN1Sequence(new ASN1Object[] {
hash.Id,
new ASN1Null()
}),
new ASN1OctetString(h)
}));
t = mem.ToArray();
}
SecurityAssert.SAssert(emLen >= t.Length + 11);
var ps = new byte[emLen - t.Length - 3];
SecurityAssert.SAssert(ps.Length >= 8);
for (var i = 0; i < ps.Length; i++) { ps[i] = 0xff; }
var em = new byte[emLen];
em[0] = 0;
em[1] = 1;
Array.Copy(ps, 0, em, 2, ps.Length);
em[ps.Length + 2] = 0;
Array.Copy(t, 0, em, ps.Length + 3, t.Length);
return em;
}
示例2: ComputeMAC
private byte[] ComputeMAC(IDigest macAlgo, long seqNum, RecordType type, TlsVersion version, byte[] content)
{
macAlgo.Update(EndianBitConverter.Big.GetBytes(seqNum), 0, sizeof(long));
macAlgo.Update(new[] { (byte)type, version.Major, version.Major }, 0, 3);
macAlgo.Update(EndianBitConverter.Big.GetBytes((ushort)content.Length), 0, sizeof(ushort));
macAlgo.Update(content, 0, content.Length);
return macAlgo.Digest();
}