WebService接口数据传输加密「建议收藏」

WebService接口数据传输加密「建议收藏」WebService接口数据传输加密

大家好,又见面了,我是你们的朋友全栈君。

1.加密流程

客服端—>加密文本——>服务端接收到加密文本,通过固定加密密文进行解密,然后做相应处理————>返回结果

2.固定密文创建

密文创建有很多种方式,在这篇文章使用的是从我出生那天到现在毫秒数,当然也可以使用其他。。。

3.实现

首先创建一个 类:SecretServer

 

public class SecretServer
{

/// <summary>
/// 加密
/// </summary>
/// <param name=”encryptStr”></param>
/// <param name=”key”></param>
/// <returns></returns>
public static string TextEncrypt(string encryptStr, string key)
{

var bt = Encoding.Default.GetBytes(encryptStr);
var base64Str = Convert.ToBase64String(bt);
key = EncryptToMD5string(key);
byte[] keyArray = Encoding.UTF8.GetBytes(key);
byte[] toEncryptArray = Encoding.UTF8.GetBytes(base64Str);
RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = rDel.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
/// <summary>
/// 解密
/// </summary>
/// <param name=”decryptStr”></param>
/// <param name=”key”></param>
/// <returns></returns>
public static string TextDecrypt(string decryptStr, string key)
{

key = EncryptToMD5string(key);
byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key);
byte[] toEncryptArray = Convert.FromBase64String(decryptStr);
RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = rDel.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
var td = UTF8Encoding.UTF8.GetString(resultArray);
var str = Convert.FromBase64String(td);
var sd = Encoding.Default.GetString(str);
return sd;
}
public static byte[] EncryptToMD5(string str)
{

MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] str1 = System.Text.Encoding.UTF8.GetBytes(str);
byte[] str2 = md5.ComputeHash(str1, 0, str1.Length);
md5.Clear();
(md5 as IDisposable).Dispose();
return str2;
}
public static string EncryptToMD5string(string str)
{

byte[] bytHash = EncryptToMD5(str);
string sTemp = “”;
for (int i = 0; i < bytHash.Length; i++)
{

sTemp += bytHash[i].ToString(“X”).PadLeft(2, ‘0’);
}
return sTemp.ToLower();
}

}

转载于:https://www.cnblogs.com/zisai/p/7235069.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106763.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电阻色环表色环电阻识别表_电阻的色环识别方法

    电阻色环表色环电阻识别表_电阻的色环识别方法色环电阻色环电阻是电子电路中最常用的电子元件,色环电阻就是在普通的电阻封装上涂上不一样的颜色的色环,用来区分电阻的阻值。保证在安装电阻时不管从什么方向来安装,都可以清楚的读出它的阻值。色环电阻的基本单位有:欧姆(Ω)、千欧(KΩ)、兆欧(MΩ)。1兆欧(MΩ)=1000千欧(KΩ)=1000000欧(Ω)。平常使用的色环电阻可以分为四环和五环,通常用四环。其中四环电阻前二环为数字,第三环表

    2022年11月3日
  • PHP实现图片的等比缩放和Logo水印功能示例

    PHP实现图片的等比缩放和Logo水印功能示例

    2021年10月25日
  • 国外全能免费主页空间

    国外全能免费主页空间国外全能免费主页空间,支持ASP.NET、PHP、CGI等 [来源:不详|作者:佚名|时间:2007-6-622:19:28|收藏本文]   WebHostforASP.NET提供15M免费主页空间,每月2G的流量限制,web方式上传管理文件,支持ASP、ASP.NET、PHP、Perl、CGI以及Access数据库,无广告。必须拥有顶级域名才能申请,如果您手头上有空

    2022年7月11日
  • 关于hard work的名言_partyhard

    关于hard work的名言_partyhard今天看了美团饿了么的app撕逼,作为程序员而且是app开发者,表示深深的蛋疼了。知乎原文:如何评价美团外卖商家版强杀竞争对手的商家版App进程?不评价回答里各种关于程序员节操问题的论述,能看到这篇博客的,心里都明白需求是谁提的。单聊聊hardcode的事。我不是科班出身,所以之前还这个词还真不是很熟悉。magicnumber倒是听说过。扯远了,http://blog.csdn

    2022年10月28日
  • mac系统安装pycharm_mac下载python3

    mac系统安装pycharm_mac下载python3简介pycharm是一款针对python开发的优秀的IDE,以下是针对其在mac上的开发配置使用安装下载链接双击安装并打开应用修改主题pycharm默认的主题并不好看,不过也提供了一些其他的选择,这里我们选择Dacula的主体,设置的路径是Preference->Appearence&Behavior->Appearence效果如下python环境配置py开发当然是…

    2022年8月28日
  • 指针指向常量_常量指针的四种

    指针指向常量_常量指针的四种const关键字指针常量和常量指针都离不开const关键字,我们先来了解一下什么是const关键字,const被用来定义常量,如果将一个变量加上const关键字,则被修饰的变量的值将无法改变。这个变量的值只能被访问,无法被修改。const关键字可以修饰变量或者指针。下面是const修饰变量的用法:constinta=6;或者intconsta=6;此时变量a…

    2022年10月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号