Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java将数字值加密为字母数字值_Java_Encryption_Hash_Hash Function - Fatal编程技术网

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