/// <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. java web下串口通讯

       最近在做java串口通讯,主要是用个人电脑通过串口从RS485读取数据,并通过crc循环冗余校验,把接收正确的数据解析,插入数据库mysql,并用SSH技术把数据库数据以表格以及图表形式显示   ...

  2. 在OpenERP8.0中如何激活及时通讯功能im

    How to activate chat (im) in v8 (trunk) I know its already answered that chat (im) is only available ...

  3. WebApi 数据保护操作未成功。这可能是由于未为当前线程的用户上下文加载用户配置文件导致的。当线程执行模拟时,可能会出现此情况。","ExceptionType":"System.Security.Cryptography.CryptographicException","StackTrace

    在调用System.Security.Cryptography.ProtectedData.Protect方法来保护私密信息时,IIS可能会报以下错误:CryptographicException: ...

  4. Lua 字符串库函数总结

    字符串库 注:字符串在Lua中是不可变的.不论什么的string操作都不会去改变原有的字符串.都是返回新的字符串 一.一般函数 1. 求长度 s = "Hello LUA "; p ...

  5. 为什么要有GDT

    逻辑地址-------------->线性地址------------> 物理地址   分段 分页 GDT是[gobal (segment) descriptor table]的缩写,它保 ...

  6. sql遍历全部数据集

    DECLARE @a int set @a = 1 while @a < 5 BEGIN select top(1) * from QPShuGameMatchDB..MatchScoreSta ...

  7. asp web api json 序列化后 把私有字段信息也返回了解决办法

    serialization returns private properties Are your types marked as [Serializable]? Serializable means ...

  8. VS2010没有Intellisense(智能感知)的解决办法

    VS2010没有Intellisense(智能感知)的解决办法 Visual Studio 2010 的Intellisense是依赖于Microsoft SQL Server Compact 3.5 ...

  9. oracle中number对应java数据类型

    本文转自:http://blog.csdn.net/ludongshun2016/article/details/71453125 数据库中为number类型的字段,在Java类型中对应的有Integ ...

  10. 运行shell出错: 没有那个文件或目录

    http://blog.163.com/zhangjie_0303/blog/static/99082706201136114548840/