MD5加密 时间差 流水号等方法
/// <summary>
/// 使用TimeSpan计算两个时间差
/// </summary>
/// <param name="DateTime1"></param>
/// <param name="DateTime2"></param>
/// <returns>Subtract:从中减去另一个TimeSpan值</returns>
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts = DateTime1.Subtract(DateTime2).Duration();
dateDiff = ts.Days.ToString() + "天" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";
return dateDiff;
} /// <summary>
/// // 计算字符串的 MD5 哈希值,并将该哈希作为 32 字符的十六进制格式字符串返回
/// </summary>
/// <param name="inputStr"></param>
/// <returns>常用于用户注册</returns>
public string ToMD5Hash(string inputStr)
{
// 创建一个MD5CryptoServiceProvider对象的新实例
MD5 newMd5 = new MD5CryptoServiceProvider();
// 将输入的字符串转换为一个字节数组并计算哈希值。
byte[] sourceBit = Encoding.Default.GetBytes(inputStr);
byte[] dataBit = newMd5.ComputeHash(sourceBit);
string directStr = BitConverter.ToString(dataBit).Replace("-", "");
return directStr;
} /// <summary>
/// // 验证输入字符串经MD5转换后,是否等同于一个哈希值
/// </summary>
/// <param name="inputStr"></param>
/// <param name="hash"></param>
/// <returns>常用于用户登录</returns>
public bool VerifyMd5Hash(string inputStr, string hash)
{
// 将输入字符串MD5加密
string hashOfInput = ToMD5Hash(inputStr); // 创建一个StringComparer实例来比较两个哈希值
// StringComparer.OrdinalIgnoreCase:获取 StringComparer 对象
// 该对象执行不区分大小写的序号字符串比较。
StringComparer comparer = StringComparer.OrdinalIgnoreCase; return comparer.Compare(hashOfInput, hash) == ;
}
/// <summary>
/// 生成年月日时分秒时间流水号格式
/// </summary>
/// <param name="now"></param>
/// <returns></returns>
public static string SerialNumber(DateTime now)
{
int year = now.Year;
int Month = now.Month;//月部分
int Day = now.Day;//月中的第几天
int Hour = now.Hour;//时
int Minute = now.Minute;//分
int Second = now.Second; //秒
return year.ToString("") + Month.ToString("") + Day.ToString("") + Hour.ToString("") + Minute.ToString("") + Second.ToString("");
}
/// <summary>
/// 根据号以及年月日时分秒生成订单编号
/// </summary>
/// <param name="now"></param>
/// <param name="berthCode"></param>
/// <returns></returns>
public static string SerialNumber(DateTime now, string Code)
{
int year = now.Year;
int Month = now.Month;//月部分
int Day = now.Day;//月中的第几天
int Hour = now.Hour;//时
int Minute = now.Minute;//分
int Second = now.Second; //秒
return Code + year.ToString("") + Month.ToString("") + Day.ToString("") + Hour.ToString("") + Minute.ToString("") + Second.ToString("");
}
/// <summary>
/// 传过来的DateTime时间格式转换为Unix时间戳格式
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string ConventDateTimeInt(string time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(, , , , , , ));
//截取时间转换为标准时间格式
string str = time.Substring(, ) + "-" + time.Substring(, ) + "-" + time.Substring(, ) + " " + time.Substring(, ) + ":" + time.Substring(, ) + ":" + time.Substring(, );
DateTime nowTime = Convert.ToDateTime(str);
long unixTime = (long)Math.Round((nowTime - startTime).TotalMilliseconds / , MidpointRounding.AwayFromZero) * ;
return unixTime.ToString();
}
/// <summary>
/// Unix时间戳转换为DateTime类型时间
/// </summary>
/// <param name="d"></param>
/// <returns></returns>
public static System.DateTime ConvertIntDateTime(double d)
{
System.DateTime time = System.DateTime.MinValue;
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(, , ));
time = startTime.AddMilliseconds(d);
return time;
}
/// <summary>
/// 时间差
/// </summary>
/// <param name="now"></param>
/// <returns></returns>
public static int DateTimeSubtract(DateTime now)
{
TimeSpan time = DateTime.Now.Subtract(now);
int hours = time.Hours;//获取小时
int Minutes = time.Minutes;//获取分钟
int Seconds = time.Seconds;//获取秒数
return hours * * + Minutes * + Seconds;
}
MD5加密 时间差 流水号等方法的更多相关文章
- linux md5 加密字符串和文件方法
linux md5 加密字符串和文件方法 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意 ...
- asp.net中实现MD5加密、解密的方法
这个MD5加密.解密的方法会使用即可. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile(& ...
- python进行md5加密的两种方法
本文转自:https://www.cnblogs.com/zknublx/p/6212590.html 一. 使用md5包 import md5 src = 'this is a md5 test.' ...
- MD5 加密的两种方法
System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5Cryp ...
- jmeter md5加密请求参数
实际的接口测试过程中,再发生http之前有可能需要对某些参数(或某几个参数的组合)进行md5加密 在jmeter中可通过两种方式来实现md5加密 beanshell实现md5加密 在org.apach ...
- iOS MD5加密实现方法
使用方法 先导入头文件 #import "MD5.h" //md5测试 NSString * md1= [MD5 md5:" ]; NSLog(@"32bit= ...
- C# MD5加密的方法+一般处理程序使用Session+后台Json序列化
1.MD5加密 string md5Str = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(s ...
- jmeter-Java关于MD5加密方法 以及16位32位互转
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现.将 ...
- SELECT INTO和INSERT INTO SELECT的区别 类似aaa?a=1&b=2&c=3&d=4,如何将问号以后的数据变为键值对 C# 获取一定区间的随即数 0、1两个值除随机数以外的取值方法(0、1两个值被取值的概率相等) C# MD5 加密,解密 C#中DataTable删除多条数据
SELECT INTO和INSERT INTO SELECT的区别 数据库中的数据复制备份 SELECT INTO: 形式: SELECT value1,value2,value3 INTO Ta ...
随机推荐
- 1z0-052 q209_7
7: In which of the scenarios will the DBA perform recovery? (Choose all that apply.) A.The alert log ...
- ubuntu 下安装配置open-iscsi并自动挂载
1.安装open-iscsi apt-get install open-iscsi 2.发现iscsi-target(ISCSI服务器IP:192.168.1.104) iscsiadm -m dis ...
- curl命令(测试连接命令)
curl命令是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具.作为一款强力工具,curl支持包括HTTP.HTTPS.f ...
- ebay分布式事务方案中文版
http://cailin.iteye.com/blog/2268428 不使用分布式事务实现目的 -- ibm https://www.ibm.com/developerworks/cn/clou ...
- plsql oracle client没有正确安装(plsql连接远程数据库)
plsql oracle client没有正确安装(plsql连接远程数据库) CreateTime--2018年4月23日16:55:11 Author:Marydon 1.情景再现 2.问题解 ...
- 〖Ruby〗Ruby关键字
模块定义:module 类定义:class 方法定义:def, undef 检查类型:defined? 条件语句:if, then, else, elsif, case, when, unless 循 ...
- Javascript模块化编程:require.js的用法
摘自:http://blog.jobbole.com/30046/ 这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库 ...
- github访问太慢解决方案
问题描述 打开github网页太慢 问题原因 被墙,导致DNS无法访问,实际上通过配置本地域名到IP的映射可以避免查询DNS服务器,从而加快速度. 为了验证确实是DNS的问题,请前往站长之家DNS查询 ...
- oc引入头文件
建立.h的头文件(header file)命名为Hi.h,源码如下: #ifndef oc3_Hi_h #define oc3_Hi_h void sayHi(); #endif 建立.c的头文件(c ...
- linux上创建PV/VG/LV
LVM的整体思路是: 首先创建PV-->然后创建VG并将多个PV加到VG里-->然后创建LV-->格式化分区-->mount分区 1.创建PV pvcreate /dev/sd ...