zoukankan      html  css  js  c++  java
  • C#中求SHA224哈希值

    C#中求SHA224哈希值

     

    C#里提供了许多开发库,包括了有关密码学需要用到的算法。今天帮别人写了个很简单的小程序,这里让需要的人参考参考:

     

      SHA224是SHA256结果中的前28字节的内容。 

     

    using System.Security.Cryptography;

     

    //--------------------------------------------------

    // Desc: 用来计算 SHA224 哈希算法

    // Para: src -- 要被哈希散列的字符串

    // Retn: 计算出来的 224 位哈希值(0101数字)

    //--------------------------------------------------

    public string getSHA224(string src)

    {

        SHA256 sha = new SHA256Managed();  // 用来计算 SHA256 哈希值

        UTF8Encoding uen = new UTF8Encoding();  // 用来把char[]转换成byte[]

        byte[] bytestr = uen.GetBytes(src.ToCharArray());

        sha.ComputeHash(bytestr);  // 计算哈希值

        String sha224 = "";

        for (int i = 0; i < 28; ++i)

        {

            int dec = int.Parse(sha.Hash.GetValue(i).ToString());   // 十进制

            String bin = Convert.ToString(dec, 2).PadLeft(8, '0');  // 转成二进制数,是8位的,不足8位前面补0

            sha224 += bin;

        }

        return sha224;

    }

  • 相关阅读:
    python列表--查找集合中重复元素的个数
    python3-打印一个进度条
    python3-sys模块
    python3-字符串操作
    python3-深浅复制
    python3-os模块
    接口和抽象类有什么区别
    集合知识
    面向对象的特征有哪些方面
    javadoc时候乱码-编码 GBK 的不可映射字符
  • 原文地址:https://www.cnblogs.com/cxun/p/771387.html
Copyright © 2011-2022 走看看