/// <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. php之快速入门学习-15(php函数)

    PHP 函数 PHP 的真正威力源自于它的函数. 在 PHP 中,提供了超过 1000 个内建的函数. PHP 内建函数 如需查看所有数组函数的完整参考手册和实例,请访问我们的 PHP 参考手册. P ...

  2. Java从零开始学十六(多态)

    一.什么是多态 多态性是指允许不同类的对象对同一消息作出响应.多态性包括参数化多态性和包含多态性.多态性语言具有灵活.抽象.行为共享.代码共享的优势,很好的解决了应用程序函数同名问题.多态有两种表现形 ...

  3. mac 安装升级python3

    如果没有安装过python3的话那就直接下载dmg文件安装升级,一般下载安装后的路径为 /Library/Frameworks/Python.framework/Versions 如果同时安装了多个p ...

  4. exception PLS-00403: expression 'V_END' cannot be used as an INTO-target of a SELECT/FETCH statement

      exception PLS-00403: expression 'V_END' cannot be used as an INTO-target of a SELECT/FETCH stateme ...

  5. ExceptionLess 搭建到本地服务器

    Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技术栈的应 ...

  6. Java 性能测试的四项原则

    绝大数的开发人员在日常工作过程中都会或多或少的遇见过性能问题,本文旨在阐述性能测试的理论,从而为性能分析和开发人员做指导.本文对于那些刚刚接触性能调优和正在解决问题的开发人员也能提供一些启发性的思路. ...

  7. Oracle创建库

    oracle创建表空间 SYS用户在CMD下以DBA身份登陆: 在CMD中打sqlplus /nolog 然后再 conn / as sysdba --如果路径不存在则要创建路径 --创建临时表空间 ...

  8. git版本库管理介绍,撤销git pull操作

    Git是分布式版本控制系统,GitHub 是最大的 Git 版本库托管商,是成千上万的开发者和项目能够合作进行的中心. 大部分 Git 版本库都托管在 GitHub,很多开源项目使用 GitHub 实 ...

  9. ASP.NET#命名空间"System.Data"中不存在类型或命名空间名称"Linq"(是否缺少程序集引用?)

    添加完.dbml(LINQ to SQL类文件)文件后,双击.designer.cs源文件时,发现编译器提示:命名空间"System.Data"中不存在类型或命名空间名称" ...

  10. MVC中JSON字符长度超出限制

    本文导读:在MVC中通过JsonResult返回JSON字符串时,如果字符串长度过长,会抛出使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 ...