java将数字值加密为字母数字值
我想加密数值 比如, 该值是数值java将数字值加密为字母数字值,java,encryption,hash,hash-function,Java,Encryption,Hash,Hash Function,我想加密数值 比如, 该值是数值 String ="8502352664"; 我想把它加密为字母数字+数字。然而,我需要输出只有5个字符 8502352664>AB123 AB123是一个输出示例 谁能给我举一些加密的例子吗 谢谢。我能想到这样的东西。 如果您有一些字符串,可以将其转换为:11233378->B1A2C3A7A8 A代表单人,B代表双人,C代表双人 或者你也可以凯撒·奇弗尔来做这件事,移动字符串的值n。 11233378->22344489 只是一些想法。大多数现代加密
String ="8502352664";
我想把它加密为字母数字+数字。然而,我需要输出只有5个字符
8502352664>AB123
AB123是一个输出示例
谁能给我举一些加密的例子吗
谢谢。我能想到这样的东西。 如果您有一些字符串,可以将其转换为:11233378->B1A2C3A7A8 A代表单人,B代表双人,C代表双人 或者你也可以凯撒·奇弗尔来做这件事,移动字符串的值n。 11233378->22344489
只是一些想法。大多数现代加密散列函数不适合5*8位,因此需要超过5个字符来表示它们 如果您愿意在安全性方面做出妥协,尽管您可以对字符串使用类似JavasHashCode的内容,然后将其转换为字符 代码应该是这样的
public String createHash(String s) throws UnsupportedEncodingException {
int hashcode = s.hashCode();
byte[] bytes = BigInteger.valueOf(hashcode).toByteArray();
return new String(bytes, "UTF-8");
}
这是我在上面找到的符号列表,我取了它的前100个符号。要将长度为10(以10为基数)的字符串转换为其长度的一半,需要以100为基数。查看下面的列表,将字符串85023564除以| 85 | 02 | 35 | 26 | 64 |并用左侧的对应项替换它们 例如,如果我得到203,它将得到| 02 | 03 |->
还要注意%7F和%81,它们都是空字符,我不确定它们是否被视为相同的字符,但为了安全起见,您可以选择不在此列表中的任何符号并替换它们。您能澄清您的问题吗?什么例子?没有碰撞是不行的!如果你想用AB123这样的格式表示一个十位数的数字,请这样想。我有一个客户ID。电话号码是8502352664。我想通过浏览器linkget参数使用它。然而,我不希望任何人看到它像这样。所以我想把它藏起来。还有一些人必须使用这个id作为5CHARB123。有可能吗?把它转换成十六进制。使用Integer.toHexString8502352664。然而,它没有加朗特返回它在5个字符…你将需要一个字母表与100个不同的符号,能够实现你想要的,假设你的ID有10个符号。SymbolsCount=expln10^x-1/5,其中x是十进制形式的ID的最大长度。这仍然不会将其减少为5。
space %20 - #01
! %21 - #02
" %22 - #03
# %23 - #04
$ %24 - #05
% %25 - and so on....
& %26
' %27
( %28
) %29
* %2A
+ %2B
, %2C
- %2D
. %2E
/ %2F
0 %30
1 %31
2 %32
3 %33
4 %34
5 %35
6 %36
7 %37
8 %38
9 %39
: %3A
; %3B
< %3C
= %3D
> %3E
? %3F
@ %40
A %41
B %42
C %43
D %44
E %45
F %46
G %47
H %48
I %49
J %4A
K %4B
L %4C
M %4D
N %4E
O %4F
P %50
Q %51
R %52
S %53
T %54
U %55
V %56
W %57
X %58
Y %59
Z %5A
[ %5B
\ %5C
] %5D
^ %5E
_ %5F
` %60
a %61
b %62
c %63
d %64
e %65
f %66
g %67
h %68
i %69
j %6A
k %6B
l %6C
m %6D
n %6E
o %6F
p %70
q %71
r %72
s %73
t %74
u %75
v %76
w %77
x %78
y %79
z %7A
{ %7B
| %7C
} %7D
~ %7E
%7F
` %80
%81
‚ %82
ƒ %83 - #100