簡體   English   中英

如何確保加密長度與給定的字符串相同

[英]How to ensure the encrypted length are same as the given string

嗨,有可能用我想要的一定長度來加密字符串嗎? 例如:我想將此字符串BI000001加密為十六進制值A3D5F2ARD3 (隨機),將其長度固定為10。 因此,當用戶輸入該值A3D5F2ARD3 ,系統將基於該值並將其解密以獲取值BI000001

有可能在Java中做到這一點嗎?

我嘗試了很多方法,但是所有加密長度都太長。

我不知道任何提供此功能的JDK內置Java加密方法。 再說一次,我不是加密專家,但是我想JDK不會內置這種自定義功能。 也許此討論也很有用: https : //crypto.stackexchange.com/questions/6098/is-there-a-length-preserving-encryption-scheme

為什么要保留字符串的大小? 也許您的問題還有另一種解決方案。

通常,您將使用諸如AES之類的分組密碼來加密數據。 分組密碼(顧名思義)以固定大小的數據塊工作,例如AES以128位的塊工作。 如果分組密碼遇到小於分組大小的輸入,它將填充它 ,這很可能就是您看到的密文大於明文的原因。

如果要保留長度,請考慮此問題中提到的“格式保留加密”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM