C#获取哈希加密生成随机安全码的类实例

本文实例讲述了C#获取哈希加密生成随机安全码的类。分享给大家供大家参考。具体分析如下:

这个C#类封装了一些hash加密的功能,可以用于得到随机哈希加密字符串使用非常方便

using System;
using System.Text;
using System.Security.Cryptography;
namespace DotNet.Utilities
{
  /// <summary>
  /// 得到随机安全码(哈希加密)。
  /// </summary>
  public class HashEncode
  {
    public HashEncode()
    {
      //
      // TODO: 在此处添加构造函数逻辑
      //
    }
    /// <summary>
    /// 得到随机哈希加密字符串
    /// </summary>
    /// <returns></returns>
    public static string GetSecurity()
    {
      string Security = HashEncoding(GetRandomValue());
      return Security;
    }
    /// <summary>
    /// 得到一个随机数值
    /// </summary>
    /// <returns></returns>
    public static string GetRandomValue()
    {
      Random Seed = new Random();
      string RandomVaule = Seed.Next(1, int.MaxValue).ToString();
      return RandomVaule;
    }
    /// <summary>
    /// 哈希加密一个字符串,sharejs.com
    /// </summary>
    /// <param name="Security"></param>
    /// <returns></returns>
    public static string HashEncoding(string Security)
    {
      byte[] Value;
      UnicodeEncoding Code = new UnicodeEncoding();
      byte[] Message = Code.GetBytes(Security);
      SHA512Managed Arithmetic = new SHA512Managed();
      Value = Arithmetic.ComputeHash(Message);
      Security = "";
      foreach(byte o in Value)
      {
        Security += (int) o + "O";
      }
      return Security;
    }
  }
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • C#中哈希表(Hashtable)的介绍及简单用法

    key通常可用来快速查找,同时key是区分大小写:value用于存储对应于key的值.Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对 <BR><BR><BR>在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value); 在哈希表中去除某个key/value键值对:HashtableObject.Remove(key); 从哈希表中移除所有元素

  • 为什么哈希存取比较快?使用它需要付出什么代价

    哈希表和哈希函数是大学数据结构中的课程,实际开发中我们经常用到Hashtable这种结构,当遇到键-值对存储,采用Hashtable比ArrayList查找的性能高.为什么呢?我们在享受高性能的同时,需要付出什么代价(这几天看红顶商人胡雪岩,经典台词:在你享受这之前,必须受别人吃不了的苦,忍受别人受不了的屈辱),那么使用Hashtable是否就是一桩无本万利的买卖呢?就此疑问,做以下分析,希望能抛砖引玉. 一.hash它为什么对于键-值查找性能高 学过数据结构的,都应该晓得,线性表和树中,记录在

  • c#哈希算法的实现方法及思路

    有想过hash["A1"] = DateTime.Now;这句是怎么实现的吗?我们来重温下学校时代就学过的哈希算法吧. 我们要写个class,实现如下主程序调用: 复制代码 代码如下: static void Main(string[] args)        {            MyHash hash = new MyHash();            hash["A1"] = DateTime.Now;            hash["A2

  • 轻松学习C#的哈希表

    在C#语言中,还有一种用于快速搜索而组织的键/值组合的数组,这种数组叫做关联数组,也叫做哈希表(Hashtable).        哈希表也在System.Collection命名空间下,用于处理和表现类似key/value的键值对,其中key通常用来快速查找,同时key是区分大小写,且key必须是唯一的.它没有有效的排序,所进行的是内在的排序,value用于存储对应于key的值.哈希表中key/value键值对均为object类型,所以哈希表可以支持任何类型的key/value键值对.哈希表

  • C#计算字符串哈希值(MD5、SHA)的方法小结

    本文实例讲述了C#计算字符串哈希值(MD5.SHA)的方法.分享给大家供大家参考.具体如下: 一.关于本文 本文中是一个类库,包括下面几个函数: ① 计算32位MD5码(大小写):Hash_MD5_32 ② 计算16位MD5码(大小写):Hash_MD5_16 ③ 计算32位2重MD5码(大小写):Hash_2_MD5_32 ④ 计算16位2重MD5码(大小写):Hash_2_MD5_16 ⑤ 计算SHA-1码(大小写):Hash_SHA_1 ⑥ 计算SHA-256码(大小写):Hash_SHA

  • C#实现给定字符串生成MD5哈希的方法

    本文实例讲述了C#实现给定字符串生成MD5哈希的方法.分享给大家供大家参考.具体分析如下: 这里首先需要下面的命名空间的引用: 复制代码 代码如下: System.Security.Cryptography; System.Web.Security; 主要代码如下: /// <summary> /// method to generate a MD5 hash of a string /// </summary> /// <param name="strToHash

  • C#使用foreach遍历哈希表(hashtable)的方法

    本文实例讲述了C#使用foreach遍历哈希表(hashtable)的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collection; namespace HashSampleApplication1 { class Program { static void Main() { Hashtable hash = new Hashtable(); hashtable[1] = "kaka"; hashtable[2] = &qu

  • C#获取哈希加密生成随机安全码的类实例

    本文实例讲述了C#获取哈希加密生成随机安全码的类.分享给大家供大家参考.具体分析如下: 这个C#类封装了一些hash加密的功能,可以用于得到随机哈希加密字符串使用非常方便 using System; using System.Text; using System.Security.Cryptography; namespace DotNet.Utilities { /// <summary> /// 得到随机安全码(哈希加密). /// </summary> public clas

  • python使用matplotlib库生成随机漫步图

    本教程使用python来生成随机漫步数据,再使用matplotlib将数据呈现出来 开发环境 操作系统: Windows10 IDE: Pycharm 2017.1.3 Python版本: Python3.6 Python第三方库:matplotlib 开始实战 1. 创建RandomWalk()类 为了模拟随机漫步,我们将创建一个名为RandomWalk的类, 它随机地选择方向. from random import choice class RandomWalk(): ""&quo

  • Python生成随机验证码的两种方法

    使用python生成随机验证码的方法有很多种,今天小编给大家分享两种方法,大家可以灵活运用这两种方法,设计出适合自己的验证码方法. 方法一: 利用range方法,对于range方法不清楚的同学,请参考文章<python开发的range()函数> # -*- coding: utf-8 -*- import random def generate_verification_code(len=6): ''' 随机生成6位的验证码 ''' # 注意: 这里我们生成的是0-9A-Za-z的列表,当然你

  • JS生成随机字符串的多种方法

    下面的一段代码,整理电脑时,记录备查. 复制代码 代码如下: <script language="javascript"> function randomString(len) { len = len || 32; var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';    /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/ var maxPos = $chars.len

  • PHP生成随机字符串(3种方法)

    如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码.随机密码也就是一串固定长度的字符串,文章整理了几种生成随机字符串的方法. 方法一 1.在33 – 126中生成一个随机整数,如35. 2.将35转换成对应的ASCII码字符,如35对应#. 3.重复以上1.2步骤n次,连接成n位的密码. 该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数用于生成随机整数,其中 $min – $max 为 ASCII 码的范围,这里取 33 -126 ,可以根据

  • ssh生成随机数字验证码操作步骤

    1.login.jsp页面程序 复制代码 代码如下: <script type="text/javascript"> function changeValidateCode(obj) { //获取当前的时间作为参数,无具体意义 var timenow = new Date().getTime(); //每次请求需要一个不同的参数,否则可能会返回同样的验证码 //这和浏览器的缓存机制有关系,也可以把页面设置为不缓存,这样就不用这个参数了. obj.src="rand

  • PHP封装函数实现生成随机的字符串验证码

    前言 一般情况下我们在做程序的时候肯定会有很多地方使用到随机字符串.比如做验证码用到的.然后就把这个函数封装起来.使用时候要设置2个参数.原理是随机抓取字符串.对字符串进行拼接 $str设置里要被采集的字符串.比如 $str=´jfowef34098094j3204efa234sfg2z23srhftj345xjxjhsrth´; 则在函数里面生成的字符串就回从 $str 里面随机抓取 $codeLen设置要生成的随机字符串.设置5.则生成5个随机字符串.比如 $codeLen=´5´;//设置

  • Android自定义控件深入学习 Android生成随机验证码

    在上一篇的文章中介绍了自定义控件的属性,详情见<详解Android自定义控件属性TypedArray以及attrs>.那么在这基础上实现随机验证码生成,里面的代码是自定义控件以及涉及到自定义view绘画. 1.先看实现的效果图 看到这个效果图是不是感觉还可以.那么就看看源码吧. 2.attr文件 <?xml version="1.0" encoding="utf-8"?> <resources> <attr name=&qu

  • PHP生成随机用户名和密码的实现代码

    有时候我们需要在应用程序中使用随机生成用户名和密码,这样可以大大提高应用程序的安全,在PHP中生成随机用户名和密码可以使用 mt_rand 函数或者是 rand 函数, rand 函数在验证码中的应用多一些,而生成长字符的随机码一般都需要 mt_rand 函数. 使用PHP生成随机数可以应用在许多地方,比如可以设计程序的随机密码.模拟掷骰子游戏的应用程序.石头剪子布游戏应用程序等等. 下面是PHP生成随机数的两个函数方法: 复制代码 代码如下: //自动为用户随机生成用户名(长度6-13)   

  • php获取指定数量随机字符串的方法

    本文实例讲述了php获取指定数量随机字符串的方法.分享给大家供大家参考,具体如下: function getARandLetter($number = 1) { if ($number == 0) return FALSE; //去除0 $number = $number < 0 ? - $number : $number; //如果小于零取正值 $letterArr = array ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',

随机推荐