我想加密数值。
例如;
该值为数字。
String ="8502352664";
我想将它加密为字母数字+数字。但是我只需要 5 个字符的输出。
8502352664>AB123
AB123
是一个输出示例。
谁能给我任何加密的例子?
谢谢你。
我想加密数值。
例如;
该值为数字。
String ="8502352664";
我想将它加密为字母数字+数字。但是我只需要 5 个字符的输出。
8502352664>AB123
AB123
是一个输出示例。
谁能给我任何加密的例子?
谢谢你。
我能想到这样的事情。
如果您有一些字符串,您可以将其转换为:11233378 -> B1A2C3A7A8
A 为单,B 为双,C 为三。
或者您可以使用 Caesar Chiffre 来执行此操作,将您的字符串按值 n 移动。
11233378 -> 22344489
.
只是一些想法..
这是我在http://www.w3schools.com/tags/ref_urlencode.asp上找到的符号列表,我选取了它的前 100 个符号。要将长度为 10(以 10 为底)的字符串转换为其长度的一半,您需要以 100 为底。查看下面的列表,将字符串“8502352664”划分为 |85|02|35|26|64| 并将它们替换为左侧的对应项。
例如,如果我得到203
,它会得到我|02|03|
-->!"
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
还要注意 %7F 和 %81,它们都是空字符,我不确定它们是否被视为相同,但为了安全起见,您可以选择不在此列表中的任何您喜欢的符号并替换它们。
大多数现代密码散列函数不适合 5 * 8 位,因此需要 5 个以上的字符来呈现它们。
如果您愿意在安全性上做出妥协,尽管您可以使用 Javas hashCode 之类的东西作为字符串,然后将其转换为字符。
代码看起来像这样
public String createHash(String s) throws UnsupportedEncodingException {
int hashcode = s.hashCode();
byte[] bytes = BigInteger.valueOf(hashcode).toByteArray();
return new String(bytes, "UTF-8");
}