资源简介
实现国密SM3算法验证和SM4算法CBC模式下文件加密操作,基于.net环境VS2017开发。
代码片段和文件信息
using System;
using Org.BouncyCastle.Crypto;
namespace HmH.base.SmHelper.cipher
{
public abstract class GeneralDigest : IDigest
{
private const int BYTE_LENGTH = 64;
private byte[] xBuf;
private int xBufOff;
private long byteCount;
internal GeneralDigest()
{
xBuf = new byte[4];
}
internal GeneralDigest(GeneralDigest t)
{
xBuf = new byte[t.xBuf.Length];
Array.Copy(t.xBuf 0 xBuf 0 t.xBuf.Length);
xBufOff = t.xBufOff;
byteCount = t.byteCount;
}
public void Update(byte input)
{
xBuf[xBufOff++] = input;
if (xBufOff == xBuf.Length)
{
ProcessWord(xBuf 0);
xBufOff = 0;
}
byteCount++;
}
public void BlockUpdate(
byte[] input
int inOff
int length)
{
//
// fill the current word
//
while ((xBufOff != 0) && (length > 0))
{
Update(input[inOff]);
inOff++;
length--;
}
//
// process whole words.
//
while (length > xBuf.Length)
{
ProcessWord(input inOff);
inOff += xBuf.Length;
length -= xBuf.Length;
byteCount += xBuf.Length;
}
//
// load in the remainder.
//
while (length > 0)
{
Update(input[inOff]);
inOff++;
length--;
}
}
public void Finish()
{
long bitLength = (byteCount << 3);
//
// add the pad bytes.
//
Update(unchecked((byte)128));
while (xBufOff != 0) Update(unchecked((byte)0));
ProcessLength(bitLength);
ProcessBlock();
}
public virtual void Reset()
{
byteCount = 0;
xBufOff = 0;
Array.Clear(xBuf 0 xBuf.Length);
}
public int GetByteLength()
{
return BYTE_LENGTH;
}
internal abstract void ProcessWord(byte[] input int inOff);
internal abstract void ProcessLength(long bitLength);
internal abstract void ProcessBlock();
public abstract string AlgorithmName { get; }
public abstract int GetDigestSize();
public abstract int DoFinal(byte[] output int outOff);
}
public class SupportClass
{
///
/// Performs an unsigned bitwise right shift with the specified number
///
///Number to operate on
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2277376 2019-01-15 16:05 smHelper\bin\Debug\BouncyCastle.dll
文件 1453726 2019-01-15 16:05 smHelper\bin\Debug\BouncyCastle.xm
文件 13312 2019-01-16 17:58 smHelper\bin\Debug\SmHelper.dll
文件 38400 2019-01-16 17:58 smHelper\bin\Debug\SmHelper.pdb
文件 10648 2019-01-16 17:41 smHelper\cipher\SM3Digest.cs
文件 14323 2019-01-16 17:30 smHelper\cipher\SM4.cs
文件 3565 2019-01-16 16:23 smHelper\cipher\SM4Utils.cs
文件 620 2019-01-16 16:18 smHelper\cipher\SM4_Context.cs
文件 5831 2019-01-16 17:31 smHelper\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2019-01-16 17:58 smHelper\obj\Debug\smHelper.csproj.CopyComplete
文件 42 2019-01-16 17:31 smHelper\obj\Debug\smHelper.csproj.CoreCompileInputs.cache
文件 580 2019-01-16 17:29 smHelper\obj\Debug\smHelper.csproj.FileListAbsolute.txt
文件 4451 2019-01-16 17:29 smHelper\obj\Debug\smHelper.csprojResolveAssemblyReference.cache
文件 13312 2019-01-16 17:58 smHelper\obj\Debug\SmHelper.dll
文件 38400 2019-01-16 17:58 smHelper\obj\Debug\SmHelper.pdb
文件 1305 2019-01-10 16:59 smHelper\Properties\AssemblyInfo.cs
文件 2199 2019-01-16 17:58 smHelper\smHelper.csproj
文件 2277376 2019-01-15 16:05 smTools\bin\Debug\BouncyCastle.dll
文件 1453726 2019-01-15 16:05 smTools\bin\Debug\BouncyCastle.xm
文件 13312 2019-01-16 17:58 smTools\bin\Debug\SmHelper.dll
文件 38400 2019-01-16 17:58 smTools\bin\Debug\SmHelper.pdb
文件 12800 2019-01-16 18:13 smTools\bin\Debug\SmTools.exe
文件 24064 2019-01-16 18:13 smTools\bin\Debug\SmTools.pdb
文件 8772 2019-01-16 18:13 smTools\Form1.cs
文件 7898 2019-01-16 17:24 smTools\Form1.Designer.cs
文件 5817 2019-01-16 17:24 smTools\Form1.resx
文件 1230 2019-01-10 17:56 smTools\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6189 2019-01-16 18:12 smTools\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 180 2019-01-16 18:13 smTools\obj\Debug\HmH.Form.SmTools.Properties.Resources.resources
文件 0 2019-01-16 18:13 smTools\obj\Debug\smTools.csproj.CopyComplete
............此处省略36个文件信息
相关资源
- 基于tc35GSM模块与STM32的短信控制程序
- SMPTE 2081 2082 12G-SDI
-
smpla
yer-0.6.9源码 - 购物系统设计
- Elliptic Problems in Nonsmooth Domains
- 3GPP TS 11.11 V8.13.0
- SMBIOS 获取系统硬件信息
- OMRON 的SYSMAC gateway帮助文档
- Constantine Balanis-Introduction to Smart Ante
- 非光滑分析与控制(Nonsmooth Analysis
- 基于GMSSL的SM9签名,密钥交换,加密,
- ContextCapture 建模 - 使用教程基础类
- 汇编工具集合
- SmartFoxServer中文教程及API
- yasm-1.3.0.tar.gz
- 一种新型的基于FPGA的SMS4密码算法电路
- 基于MIRACL库下的SM2密钥交换的实现
- Maven+SSM+Bootstrap项目
- c32asm
- SC031GS设计应用指南_for DVP.pdf
- SC031GS数据手册_datasheet.pdf
- SSM框架练习工程包
- SSM+Maven电费管理系统源码+文档
- Pads最全封装库,包括Decal、lines、SM
- 安全多方计算之解决百万富翁问题的
- COSMIC项目估算方法,最新中文版
- Windows群集Mscs
- 现代体系结构上的UNIX系统--内核程序
- 微信扫码支付ssm.rar
- 3dsmax大作业—沙发
评论
共有 条评论