Java 获取字符串Hash值

Java 生成字符串的Hash值:

   /**
     * A hashing method that changes a string (like a URL) into a hash suitable for using as a
     * disk filename.
     */
    public static String hashKeyForDisk(String key) {
        String cacheKey;
        try {
            final MessageDigest mDigest = MessageDigest.getInstance("MD5");
            mDigest.update(key.getBytes());
            cacheKey = bytesToHexString(mDigest.digest());
        } catch (NoSuchAlgorithmException e) {
            cacheKey = String.valueOf(key.hashCode());
        }
        return cacheKey;
    }

    private static String bytesToHexString(byte[] bytes) {
        // http://stackoverflow.com/questions/332079
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < bytes.length; i++) {
            String hex = Integer.toHexString(0xFF & bytes[i]);
            if (hex.length() == 1) {
                sb.append(‘0‘);
            }
            sb.append(hex);
        }
        return sb.toString();
    }
时间: 2024-10-14 01:48:33

Java 获取字符串Hash值的相关文章

JAVA 获取字符串的长度,链接字符串,获取字符串索引位置的值,获取值的索引位置

package Code503; public class CodeStringGet { public static void main(String[] args) { //获取字符串的长度 int length = "huanduchenyu".length(); System.out.println("字符串的长度为:"+length); String str1="欢都"; String str2="辰玉"; //链接

Java获取字符串信息

String str = "Hello World" 1.str.length();//获取字符串长度 2.str.indexOf(String s);//查找字符在字符串中的位置,该方法用于返回参数字符串s在指定字符串中首次出现的索引位置,当调用字符串的indexOf()方法时,会从当前 的字符串的开始位置搜索s的位置:如果没有检索到字符串s,该方法返回值是-1 例:int size = str.indexOf("W");  size = 5; 3.str.las

python 通过文件路径获取文件hash值

1 import hashlib 2 import os,sys 3 4 def CalcSha1(filepath): 5 with open(filepath,'rb') as f: 6 sha1obj = hashlib.sha1() 7 sha1obj.update(f.read()) 8 hash = sha1obj.hexdigest() 9 print(hash) 10 return hash 11 12 def CalcMD5(filepath): 13 with open(fi

Java获取Object属性值

做了一个拦截参数的需求,需要获取普通参数和对象参数 参数是Object类型,Object[] paramValues = pjp.getArgs(); 1.获取普通参数 for(int i=0;i<paramValues.length;i++){ accessToken = paramValues[i].toString(); } 2.获取对象型参数 for(int i=0;i<paramValues.length;i++){ accessToken = paramValues[i].getC

Java 获取字符串中第N次出现的字符位置

public static int getCharacterPosition(String string){    //这里是获取"/"符号的位置    Matcher slashMatcher = Pattern.compile("/").matcher(string);    int mIdx = 0;    while(slashMatcher.find()) {       mIdx++;       //当"/"符号第三次出现的位置  

Java获取字符串编码方式

直接下载吧: http://files.cnblogs.com/files/xiluhua/BytesEncodingDetectTool.rar

java获取字符串格式日期向前或向后n天的日期

private void setTilteMessage(){          BaseDao dao = new BaseDao();          String titleData = dao.getLatestData();          dao.closeDB();          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");          try {              Date d

Java获取字符串的CRC8校验码(由C程序的代码修改为了Java代码)

CRC8算法请百度,我也不懂,这里只是把自己运行成功的结构贴出来了.方法CRC8_Tab这里没有处理,因为我的程序中没有用到. package com.crc; public class CCRC8_3 { /*public static int[] CRC8_TAB = { 0x00, 0x07, 0x0E, 0x09, 0x1C, 0x1B, 0x12, 0x15, 0x38, 0x3F, 0x36, 0x31, 0x24, 0x23, 0x2A, 0x2D, 0x70, 0x77, 0x7

hdu4821 String 字符串hash(bkdrhash)

题意:给定m,l,一个字符串str. 我们定义一个子串为"recoverable"串 当 1.长度为 M*L 2.把这个好串分成M段,每段长度为L,且每段各不相同. 求"recoverable"串的个数,串相同位置不同也算不同. 思路:预处理数组hash,hash[i]表示从i位置到尾的字符串hash值.这里数组为unsigned long long型,因为可以自动取模.然后枚举 前l个位置,每次向后翻滚(将前一个长度为l的段hash值从map中去除,将翻滚后新出现