Maison  >  Article  >  développement back-end  >  Analyse d'un exemple d'outil de chiffrement C#

Analyse d'un exemple d'outil de chiffrement C#

黄舟
黄舟original
2017-09-26 13:44:231528parcourir

Cryptage 5.SHA1

//sha1加密    
public static String getSha1(String str){        
if(str==null||str.length()==0){            
return null;
        }        
        char hexDigits[] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};        
        try {
            MessageDigest mdTemp = MessageDigest.getInstance("SHA1");
            mdTemp.update(str.getBytes("UTF-8"));            
            byte[] md = mdTemp.digest();            
            int j = md.length;            
            char buf[] = new char[j*2];            
            int k = 0;            
            for (int i = 0; i < j; i++) {                
            byte byte0 = md[i];
                buf[k++] = hexDigits[byte0 >>> 4 & 0xf];
                buf[k++] = hexDigits[byte0 & 0xf];
            }            return new String(buf);
        } catch (Exception e) {            
        return null;
        }
    }
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18

  • 19

  • 20

  • 21

  • 22

  • 23

  • 24

Classe d'outil de chiffrement 6.MD5 :

package com.huihui.util;
import java.security.MessageDigest;
/**
 * MD5加密工具类
 * @author Administrator
 *
 */public class Md5Util {    
 public final static String MD5(String s){        
 char hexDigits[] = {&#39;0&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;,&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;}; 
        try {            byte[] strTemp = s.getBytes();
            MessageDigest mdTemp = MessageDigest.getInstance("MD5");
            mdTemp.update(strTemp);            
            byte[] md = mdTemp.digest();            
            int j = md.length;            
            char str[] = new char[j*2];            
            int k = 0;            
            for (int i = 0; i < j; i++) {                
            byte byte0 = md[i];
                str[k++] = hexDigits[byte0>>>4&0xf];
                str[k++] = hexDigits[byte0 & 0xf];
            }            return new String(str);

        } catch (Exception e) {            
        return null;
        }
    }    public static void main(String[] args) {
        System.out.println(Md5Util.MD5("b"));
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn