1. /// <summary>
  2. /// 使用TimeSpan计算两个时间差
  3. /// </summary>
  4. /// <param name="DateTime1"></param>
  5. /// <param name="DateTime2"></param>
  6. /// <returns>Subtract:从中减去另一个TimeSpan值</returns>
  7. private string DateDiff(DateTime DateTime1, DateTime DateTime2)
  8. {
  9. string dateDiff = null;
  10. TimeSpan ts = DateTime1.Subtract(DateTime2).Duration();
  11. dateDiff = ts.Days.ToString() + "天" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";
  12. return dateDiff;
  13. }
  14.  
  15. /// <summary>
  16. /// // 计算字符串的 MD5 哈希值,并将该哈希作为 32 字符的十六进制格式字符串返回
  17. /// </summary>
  18. /// <param name="inputStr"></param>
  19. /// <returns>常用于用户注册</returns>
  20. public string ToMD5Hash(string inputStr)
  21. {
  22. // 创建一个MD5CryptoServiceProvider对象的新实例
  23. MD5 newMd5 = new MD5CryptoServiceProvider();
  24. // 将输入的字符串转换为一个字节数组并计算哈希值。
  25. byte[] sourceBit = Encoding.Default.GetBytes(inputStr);
  26. byte[] dataBit = newMd5.ComputeHash(sourceBit);
  27. string directStr = BitConverter.ToString(dataBit).Replace("-", "");
  28. return directStr;
  29. }
  30.  
  31. /// <summary>
  32. /// // 验证输入字符串经MD5转换后,是否等同于一个哈希值
  33. /// </summary>
  34. /// <param name="inputStr"></param>
  35. /// <param name="hash"></param>
  36. /// <returns>常用于用户登录</returns>
  37. public bool VerifyMd5Hash(string inputStr, string hash)
  38. {
  39. // 将输入字符串MD5加密
  40. string hashOfInput = ToMD5Hash(inputStr);
  41.  
  42. // 创建一个StringComparer实例来比较两个哈希值
  43. // StringComparer.OrdinalIgnoreCase:获取 StringComparer 对象
  44. // 该对象执行不区分大小写的序号字符串比较。
  45. StringComparer comparer = StringComparer.OrdinalIgnoreCase;
  46.  
  47. return comparer.Compare(hashOfInput, hash) == ;
  48. }
  49. /// <summary>
  50. /// 生成年月日时分秒时间流水号格式
  51. /// </summary>
  52. /// <param name="now"></param>
  53. /// <returns></returns>
  54. public static string SerialNumber(DateTime now)
  55. {
  56. int year = now.Year;
  57. int Month = now.Month;//月部分
  58. int Day = now.Day;//月中的第几天
  59. int Hour = now.Hour;//时
  60. int Minute = now.Minute;//分
  61. int Second = now.Second; //秒
  62. return year.ToString("") + Month.ToString("") + Day.ToString("") + Hour.ToString("") + Minute.ToString("") + Second.ToString("");
  63. }
  64. /// <summary>
  65. /// 根据号以及年月日时分秒生成订单编号
  66. /// </summary>
  67. /// <param name="now"></param>
  68. /// <param name="berthCode"></param>
  69. /// <returns></returns>
  70. public static string SerialNumber(DateTime now, string Code)
  71. {
  72. int year = now.Year;
  73. int Month = now.Month;//月部分
  74. int Day = now.Day;//月中的第几天
  75. int Hour = now.Hour;//时
  76. int Minute = now.Minute;//分
  77. int Second = now.Second; //秒
  78. return Code + year.ToString("") + Month.ToString("") + Day.ToString("") + Hour.ToString("") + Minute.ToString("") + Second.ToString("");
  79. }
  80. /// <summary>
  81. /// 传过来的DateTime时间格式转换为Unix时间戳格式
  82. /// </summary>
  83. /// <param name="s"></param>
  84. /// <returns></returns>
  85. public static string ConventDateTimeInt(string time)
  86. {
  87. System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(, , , , , , ));
  88. //截取时间转换为标准时间格式
  89. string str = time.Substring(, ) + "-" + time.Substring(, ) + "-" + time.Substring(, ) + " " + time.Substring(, ) + ":" + time.Substring(, ) + ":" + time.Substring(, );
  90. DateTime nowTime = Convert.ToDateTime(str);
  91. long unixTime = (long)Math.Round((nowTime - startTime).TotalMilliseconds / , MidpointRounding.AwayFromZero) * ;
  92. return unixTime.ToString();
  93. }
  94. /// <summary>
  95. /// Unix时间戳转换为DateTime类型时间
  96. /// </summary>
  97. /// <param name="d"></param>
  98. /// <returns></returns>
  99. public static System.DateTime ConvertIntDateTime(double d)
  100. {
  101. System.DateTime time = System.DateTime.MinValue;
  102. System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(, , ));
  103. time = startTime.AddMilliseconds(d);
  104. return time;
  105. }
  106. /// <summary>
  107. /// 时间差
  108. /// </summary>
  109. /// <param name="now"></param>
  110. /// <returns></returns>
  111. public static int DateTimeSubtract(DateTime now)
  112. {
  113. TimeSpan time = DateTime.Now.Subtract(now);
  114. int hours = time.Hours;//获取小时
  115. int Minutes = time.Minutes;//获取分钟
  116. int Seconds = time.Seconds;//获取秒数
  117. return hours * * + Minutes * + Seconds;
  118. }

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. Struts2(二)action的三种方式

    一.普通java类 package com.pb.web.action; /* * 创建普通的java类 */ public class HelloAction1 { public String ex ...

  2. 1z0-052 q209_3

    3: Identify two situations in which you can use Data Recovery Advisor for recovery. (Choose two.) —° ...

  3. sql server 根据经纬度计算两点间距离

    DECLARE @BJ GEOGRAPHY DECLARE @XT GEOGRAPHY SELECT @BJ= geography::Point('39.92889', '116.38833', 43 ...

  4. 原创Oracle数据泵导出/导入(expdp/impdp)

    //创建目录 create Or Replace directory dpdata1 as 'd:\test\dump'; //赋予读写权限 grant read,write on directory ...

  5. javaweb项目打成war包

    进入项目文件 jar -cvf newsisAP.war *

  6. Google Hack的一些整理

    这里是一些关于Google Hack方面的整理 黑客专用信息和资料搜索地址为: http://www.google.com/custom?hl=xx-hacker 这里是google关键字的用法,要设 ...

  7. from会存在潜在的陷阱

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #from会存在潜在的陷阱 #from时,可能会遇到相同变量名,变量会被悄悄覆盖掉, #但是import语句不 ...

  8. ModelAndView 配置与使用

    一,ModelAndView 介绍: 1)ModelAndView 用于后台与前端页面交互: 2)可以用于重定向与转发到指定页面, 3)可以保存数据然后渲染到页面 二,使用: 1)在Controlle ...

  9. [SceneKit] 不会 Unity3D 的另一种选择

    概述 SceneKit和SpriteKit的区别简单的来说就是二维和三维的区别 详细 代码下载:http://www.demodashi.com/demo/10664.html 上周一, 相信很多人和 ...

  10. 【微信小程序】:confirm(删除提示)

    微信小程序删除处理 没有 confrim 那怎么实现这个效果呢 可以使用小程序里的模态框 代码: wxml: <a class="reply" wx:if="{{c ...