.net C# ADC接口中DES加密算法
Des加密保证消息的不可阅读性。
对消息的加密算法:Base64(DES(MD5(消息体) + 消息体))
消息采用的DES加密算法规则如下:
1.密钥是一个长度16、由16进制字符组成的字符串,如:1234567890ABCDEF
使用时,相临的两位理解为一个16进制数的明文,然后转换为实际使用的8位密钥
2. 待加密数据按照PKCS5规则进行补位。(缺7位补7个0x07,缺6位则补6个0x06,以次类推,如果正好8位,也需要补8个0x08)
3. 实际加密模式选择DES-ECB
4. 经过DES加密后的数据必须通过Base64编码转换为明文的字符串
华为提示java的jar包,但.net 方面是没有方法,网上查询了很多,des方法有很多,加密结果不一样,经常仔细阅读加密算法,终于实现在,提供给大家
代码
using System;
using System.Text;
using System.ComponentModel;
using System.Collections;
using System.Security;
using System.Security.Cryptography;
using System.Diagnostics;
using System.IO;
namespace AdcLib.Util
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class SecurityUtil //加密解密类
{
/// <summary>
/// 3des加密字符串
/// </summary>
/// <param name= "a_strString "> 要加密的字符串 </param>
/// <param name= "a_strKey "> 密钥 </param>
/// <returns> 加密后并经base64编码的字符串 </returns>
/// <remarks> 静态方法,采用默认ascii编码 </remarks>
public static string EncryptDES(string a_strString, string a_strKey)
{
DESCryptoServiceProvider DES =
using System.Text;
using System.ComponentModel;
using System.Collections;
using System.Security;
using System.Security.Cryptography;
using System.Diagnostics;
using System.IO;
namespace AdcLib.Util
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class SecurityUtil //加密解密类
{
/// <summary>
/// 3des加密字符串
/// </summary>
/// <param name= "a_strString "> 要加密的字符串 </param>
/// <param name= "a_strKey "> 密钥 </param>
/// <returns> 加密后并经base64编码的字符串 </returns>
/// <remarks> 静态方法,采用默认ascii编码 </remarks>
public static string EncryptDES(string a_strString, string a_strKey)
{
DESCryptoServiceProvider DES =
补充:综合编程 , 安全编程 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,
部分文章来自网络,