加密算法使用(一):用CRC32来压缩32uuid字符串

CRC32相比MD5重复率较高,

不过我们仍然可以使用CRC32然后转长整形的方式将32位的UUID字符串压缩成更短的整形唯一标识。

 1 /**
 2      *
 3      * @Title: getCRC32Value
 4      * @author:liuyx
 5      * @date:2015年11月6日下午5:26:12
 6      * @Description: 获取字符串对应的重复概率较小的整形
 7      * @param str 传入字符串
 8      * @return
 9      */
10     public static String getCRC32Value(String str) {
11
12         CRC32 crc32 = new CRC32();
13         crc32.update(str.getBytes());
14         System.out.println(crc32.getValue());
15
16         /*str = str.replace("-", "");
17         str = str.replaceAll("[a-zA-Z]", "");
18         if(str.length()>10) {
19             str = str.substring(str.length()-10);
20         }else if(str.length()==0) {
21             //String temp = Long.toString(System.currentTimeMillis());
22             str = "";
23         }*/
24         return Long.toString(crc32.getValue());
25     }
时间: 2024-10-03 22:26:10

加密算法使用(一):用CRC32来压缩32uuid字符串的相关文章

将n进制的数组压缩成字符串(0-9 a-z)同时解压

此类题目要明确两点: 1. 打表:用数组下标索引字符,同时注意如果从字符对应回数字: int index = (str[i] >= '0' && str[i] <= '9') ? (str[i]-'0'-radix):(str[i]-'a'-radix + 10); 2. 注意低位在前还是高位在前,如果先来的是 低位*radix^i 即可. 3. 统计每几个radix进制数组成一位,利用bits来表示... 这破题主要是麻烦... #include <assert.h&g

基于Zlib算法的流压缩、字符串压缩源码

原文:基于Zlib算法的流压缩.字符串压缩源码 Zlib.net官方源码demo中提供了压缩文件的源码算法.处于项目研发的需要,我需要对内存流进行压缩,由于zlib.net并无相关文字帮助只能自己看源码解决.通过对SharpZipLib的demo研究,写出了Zlib.net的流压缩算法. 中间花费了不少的时间,应为通过Stream压缩出来的数据全是空的,呵呵,主要原因就是忽略了ZOutputStream.flush()和ZOutPutStream.close()方法.大家自己看吧.关于字符串压缩

压缩任意字符串

//通过键盘输入一串任意字符串. //请编写一个字符串压缩程序,将字符串中连续出 //席的重复字母进行压缩,并输出压缩后的字符串. /* 如:输入AABBCC,输出2A2B2C;输入,,,..,输出3,2.. */ #include <iostream> #include <string.h> #include <stdlib.h> using namespace std; void Grial(char *src) { char *Pnext = src; char

gzip解压压缩的字符串数据

import urllib2 from StringIO import StringIO import gzip def loadData(url): request = urllib2.Request(url) request.add_header('Accept-encoding', 'gzip') response = urllib2.urlopen(request) if response.info().get('Content-Encoding') == 'gzip': print '

最全加密算法之对称加密和非对称加密

常见加密算法 : DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合: 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高: RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快: IDEA(International Data Encryption Algorithm)国际数据加密算法:使用 128 位密钥提供非常强的安全性: RSA:由 RSA 公司发明,是一个支持变长密钥的公共

.net中压缩和解压缩的处理

最近在网上查了一下在.net中进行压缩和解压缩的方法,方法有很多,我找到了以下几种: 1.利用.net自带的压缩和解压缩方法GZip 参考代码如下: //======================================================================== // 类名: CommonCompress /// <summary> /// 用于对文件和字符串进行压缩 /// </summary> /// <remarks> ///

String压缩 解压缩

数据传输时,有时需要将数据压缩和解压缩,本例使用GZIPOutputStream/GZIPInputStream实现. 1.使用ISO-8859-1作为中介编码,可以保证准确还原数据 2.字符编码确定时,可以在decompress方法最后一句中显式指定编码 package com.bcxin.business.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.

bzoj 1068: [SCOI2007]压缩 DP

1068: [SCOI2007]压缩 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 496  Solved: 315[Submit][Status] Description 给一个由小写字母组成的字符串,我们可以用一种简单的方法来压缩其中的重复信息.压缩后的字符串除了小写字母外还可以(但不必)包含大写字母R与M,其中M标记重复串的开始,R重复从上一个M(如果当前位置左边没有M,则从串的开始算起)开始的解压结果(称为缓冲串). bcdcdcdcd可以

javascript 压缩空格代码演示

      压缩空格代码演示 主要是讲解 压缩一个字符串两段空格          例如:javascript函数里的空格不论是这样     var s = "Hello World        ";                                  这样        var s = "       Hello World";                                   这样       var s = "