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;

    }

  • 相关阅读:
    mysql基础
    EM算法总结
    机器学习之PCA(1)
    C语言socket编程<二>
    计算机网络·实验一:
    机器学习之GMM-EM
    C语言socket编程<一>socket之Winsock API
    【翻译】java-TCP-socket网络编程2
    【翻译】java-TCP-socket网络编程1
    【翻译】Java IO 关系总览和整理
  • 原文地址:https://www.cnblogs.com/cxun/p/771387.html
Copyright © 2011-2022 走看看