/// <summary>
/// MD5加密
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string MD5Encrypt(string s)
{
string strResult = "";
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(s));
for (int i = ; i < bytResult.Length; i++)
{
strResult = strResult + bytResult[i].ToString("x").PadLeft(,'');
}
return strResult;
} /// <summary>
/// 与PHP兼容的MD5加密
/// </summary>
/// <param name="password"></param>
/// <returns></returns>
public static string MD5(string password)
{ byte[] textBytes = System.Text.Encoding.UTF8.GetBytes(password);
try
{
System.Security.Cryptography.MD5CryptoServiceProvider cryptHandler;
cryptHandler = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] hash = cryptHandler.ComputeHash(textBytes);
string ret = "";
foreach (byte a in hash)
{
if (a < )
ret += "" + a.ToString("x");
else
ret += a.ToString("x");
}
return ret;
}
catch
{
throw;
} } /// <summary>
/// 16位md5加密,小写
/// </summary>
/// <param name="password"></param>
/// <returns></returns>
public static string MD5_16(string password) {
return MD5(password).ToLower().Substring(, );
}
private static string KEY = "";
private static string IV = ""; /// <summary>
/// 3DES解密
/// </summary>
/// <param name="strText"></param>
/// <param name="key"></param>
/// <param name="iv"></param>
/// <returns></returns>
public static String DESDecrypt(String strText, string key, string iv)
{
System.Security.Cryptography.TripleDESCryptoServiceProvider des3 = new System.Security.Cryptography.TripleDESCryptoServiceProvider();
des3.Key = Convert.FromBase64String(key);
des3.IV = Convert.FromBase64String(iv); string result = string.Empty;
try
{
byte[] buffer = Convert.FromBase64String(strText);
buffer = des3.CreateDecryptor().TransformFinalBlock(buffer, , buffer.Length);
result = System.Text.Encoding.UTF8.GetString(buffer);
}
catch
{ }
return result;
} /// <summary>
/// 3DES加密
/// </summary>
/// <param name="strText">待加密文字</param>
/// <param name="key">KEY</param>
/// <param name="iv">向量</param>
/// <returns></returns>
public static string DESEncrypt(string strText, string key, string iv)
{
System.Security.Cryptography.TripleDESCryptoServiceProvider des3 = new System.Security.Cryptography.TripleDESCryptoServiceProvider();
des3.Key = Convert.FromBase64String(key);
des3.IV = Convert.FromBase64String(iv); string result = string.Empty;
try
{
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strText);
buffer = des3.CreateEncryptor().TransformFinalBlock(buffer, , buffer.Length);
result = Convert.ToBase64String(buffer);
}
catch
{ }
return result;
}

加密与解密md5 3des的更多相关文章

  1. python接口自动化测试二十七:加密与解密MD5、base64

    # MD5加密 # 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作 import hashlib def MD5(str): # 创建md5对象 hl ...

  2. DES加密与解密MD5加密帮助类

    public class TrialHelper { //默认密钥向量 private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xA ...

  3. 银联手机支付(.Net Csharp),3DES加密解密,RSA加密解密,RSA私钥加密公钥解密,.Net RSA 3DES C#

    前段时间做的银联支付,折腾了好久,拼凑的一些代码,有需要的朋友可以参考,本人.Net新手,不保证准确性! 这个银联手机支付没有SDK提供,技术支持也没有.Net的,真心不好搞! RSA加解密,这里有个 ...

  4. (转)DES、RSA、MD5、SHA、随机生成加密与解密

    一.数据加密/编码算法列表   常见用于保证安全的加密或编码算法如下:   1.常用密钥算法   密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括:   DES(Data Encr ...

  5. DES、RSA、MD5、SHA、随机生成加密与解密

    一.数据加密/编码算法列表   常见用于保证安全的加密或编码算法如下:   1.常用密钥算法   密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括:   DES(Data Encr ...

  6. iOS,一行代码进行RSA、DES 、AES、MD5加密、解密

    本文为投稿文章,作者:Flying_Einstein(简书) 加密的Demo,欢迎下载 JAVA端的加密解密,读者可以看我同事的这篇文章:http://www.jianshu.com/p/98569e ...

  7. C#:使用MD5对用户密码加密与解密

    C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...

  8. BASE64,MD5,SHA,HMAC加密與解密算法(java)

    package com.ice.webos.util.security; import java.io.UnsupportedEncodingException; import java.math.B ...

  9. [DEncrypt] Encrypt--加密/解密/MD5加密 (转载)

    点击下载  Encrypt.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.Encrypt加密2.Encrypt解密3.Encrypt MD5加密看下面代码吧 /// <summar ...

随机推荐

  1. 一个时代的终结:为什么是时候放弃ITOM四大巨头了?这对IT领导者来说意味着什么?

    ​​关注嘉为科技,获取运维新知 2018年7月,Broadcom宣布了收购CA Technologies的计划,收购额近190亿美元.虽然分析师对于芯片制造商收购企业级软件公司这件事是否值得还在进行激 ...

  2. 数据结构与算法之PHP排序算法(插入排序)

    一.基本思想 插入排序算法是每一步将一个待排序的数据插入到前面已经排好序的有序序列中,直到所有元素插入完毕为止.   二.算法过程 1)将第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未 ...

  3. 单机器搭建 zk 集群

    在一台机器上配置 2 节点的 zk 集群,zk1 和 zk2 的 serverid 分别为 1 和 2,本机 ip 是 192.168.40.1 zk1 相关配置: dataDir=E:/test/z ...

  4. MySQL字符串列与整数比较

    一.问题说明 为了简便在存储时我们经常将整型字段也以字符串形式存储(如id值),但在筛选比较时就需要将该字段转为数值类型. 二.处理办法 2.1 使用cast函数进行类型转换 cast函数格式---- ...

  5. python全栈开发笔记---------数据类型****整理****

    一.数字 int(..) 二.字符串 replace/find/join/strip/startswith/split/upper/lower/format tempalet ='i am {name ...

  6. flask-session 在redis中存储session

    依赖: Flask Flask-Session redis import os from flask import Flask, session, request from flask_session ...

  7. redis 集群常用命令

    systemctl start redis.service #redis 启动redis-server /etc/redis.conf #redis 加载配置文件启动 redis-cli -h 192 ...

  8. python中如何删除列表中的所有元素

    今天写代码的时候遇到一个小问题,Python中要删除列表中的所有元素.Python本身就提供了pop.remove.del这些删除的函数.我想着用循环实现,结果很麻烦.几番周折上了stackoverf ...

  9. UI自动化selenium

    1.什么是UI自动化?模拟人用代码的方式去操作页面2.为什么要做UI自动化?后期迭代的时候,老功能比较多,人工维护成本较大,重复性工作较多,这个时候就考虑因为UI自动化3.什么时候做UI自动化?项目稳 ...

  10. 2017-9-3模拟赛T1 卡片(card)

    题目 [题目描述] lrb 喜欢玩卡牌.他手上现在有n张牌,每张牌的颜色为红绿蓝中的一种.现在他有两种操作.一是可以将两张任意位置的不同色的牌换成一张第三种颜色的牌:二是可以将任意位置的两张相同颜色的 ...