/// <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加密 时间差 流水号等方法的更多相关文章

  1. linux md5 加密字符串和文件方法

    linux md5 加密字符串和文件方法 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意 ...

  2. asp.net中实现MD5加密、解密的方法

    这个MD5加密.解密的方法会使用即可. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile(& ...

  3. python进行md5加密的两种方法

    本文转自:https://www.cnblogs.com/zknublx/p/6212590.html 一. 使用md5包 import md5 src = 'this is a md5 test.' ...

  4. MD5 加密的两种方法

    System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5Cryp ...

  5. jmeter md5加密请求参数

    实际的接口测试过程中,再发生http之前有可能需要对某些参数(或某几个参数的组合)进行md5加密 在jmeter中可通过两种方式来实现md5加密 beanshell实现md5加密 在org.apach ...

  6. iOS MD5加密实现方法

    使用方法 先导入头文件 #import "MD5.h" //md5测试 NSString * md1= [MD5 md5:" ]; NSLog(@"32bit= ...

  7. C# MD5加密的方法+一般处理程序使用Session+后台Json序列化

    1.MD5加密 string md5Str = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(s ...

  8. jmeter-Java关于MD5加密方法 以及16位32位互转

    MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现.将 ...

  9. 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 ...

随机推荐

  1. MySQL Cluster配置文件-SQL节点4G内存

    # Example MySQL config file for large systems. # # This is for a large system with memory = 512M whe ...

  2. Java从零开始学三十九(对象序列化)

    一.序列化 将对象的状态存储到特定存储介质中的过程 对象序列化,就是把一个对象变为二进制的数据流的一种方法,通过对象序列化可以方便的实现对象的传输或存储.   序列化保存对象的“全景图”,构建对象的“ ...

  3. 10个最受欢迎的Java类(转)

    原文:http://www.csdn.net/article/2012-06-04/2806277 每一个Java程序员都有一份属于自己的Java类排名表.这个排名表没有严格的规定,也没有可遵循的规则 ...

  4. tar 归档中找不到

    今天在解压tar.gz包时遇到的错误: 刚开始以为是路径的问题,然后感觉是tar.gz包的问题,后来查了一下才知道,记录一下: 一定要加上那个-C   参数表示更换目录的意识 -C    --dire ...

  5. PHP中静态方法(static)与非静态方法的使用及区别

    今天再次学习这个内容,总是糊里糊涂的,想弄明白!!! static关键字用来修饰属性.方法,称这些属性.方法为静态属性.静态方法.static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定 ...

  6. .NET Remoting三种信道Http,Tcp,IPC和Web Service的访问速度比较(转)

    Remoting和Web Service是.net中的重要技术,都可用来实现分布式系统开发,如果是不同的平台就只能选择Web Service,但如果是同一平台,就都可以选择了.到底选择那种,当然还有访 ...

  7. springmvc异常统一处理

    http://www.cnblogs.com/xd502djj/archive/2012/09/24/2700490.html

  8. ubuntu 重新挂载home

    vmware虚拟机下操作: 1 在Vmware中创建新硬盘. 2 启动Ubuntu 在终端输入:sudo fdisk -l ,可以看到 -------------------------------- ...

  9. Cannot refer to the non-final local variable user defined in an enclosing scope 内部类定义在方法内,方法定义的参数(形参)无法被内部类直接访问,需要用final定义

    为什么匿名内部类参数必须为final类型 1)  从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量 ...

  10. matplotlib热图

    1.基础知识点回顾 1.plot(x, y, marker='D')表示绘制折线图,marker设置样式菱形. 2.scatter(x, y, marker='s', color='r')绘制散点图, ...