我想加密數值。java將數字值加密爲字母數字值
例如;
該值是數字。
String ="8502352664";
我想將其加密爲字母數字+數字。但是我只需要5個字符的輸出。
8502352664>AB123
AB123
是輸出示例。
任何人都可以給我加密的例子嗎?
謝謝。
我想加密數值。java將數字值加密爲字母數字值
例如;
該值是數字。
String ="8502352664";
我想將其加密爲字母數字+數字。但是我只需要5個字符的輸出。
8502352664>AB123
AB123
是輸出示例。
任何人都可以給我加密的例子嗎?
謝謝。
我可以想到這樣的事情。
如果你有一些字符串,你可以將它轉換爲:11233378 -> B1A2C3A7A8
一個單一的,B爲雙,C爲tripple。
或者你可以凱撒克菲爾做到這一點,移動你的字符串的價值n。 11233378 -> 22344489
。
只是一些想法..
,仍然不會減少到5的長度。 –
大多數現代加密散列函數將不適合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");
}
下面是我對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%,它們都是空的性格,我不知道,如果它們的處理方式是相同的,但出於安全目的,您可以選擇不在此列表中的任何符號並替換它們。
你能澄清你的問題嗎?什麼的例子? – UmNyobe
這不能沒有碰撞!如果您想以AB123格式顯示十位數字。 – kai
請這樣想。我有一個customerId。它是8502352664.我想通過瀏覽器鏈接使用它(獲取參數)。但我不希望沒有人看到它這樣。所以我想隱藏它。還有一些人不得不使用這個ID作爲5char(AB123)。可能嗎? – user3414231