簡體   English   中英

用Java進行公鑰加密(加密的字符串與原始字符串長度相同)

[英]public key encryption with java (encrypted string same length as original one)

我正在嘗試在java中找到一個公用密鑰加密方法,該方法將產生一個與原始字符串具有相同長度的字符串。 通常的rsa不起作用。 它會為3個字符串生成一個很長的字符串。 我要為項目執行的操作是使用密鑰對字符串進行加密,然后使用密鑰再次對其進行加密,但是擁有較長的字符串只會極大地減慢該過程。 有什么建議么?

RSA沒有流密碼模式,該模式可以創建與明文長度相同的密文。 密文將始終是模數的大小。 因此,如果您使用的是RSA 2048,則密文的長度為256個字節。 沒有辦法使它更短。 這恰好是您對256個字節的要求,但是如果您還需要對其進行編碼以保持傳輸的持久性,那么它將更大。

您可以使用較短的RSA密鑰,例如RSA 1536,這將導致192字節的密文,如果使用Base 64對其進行編碼,則其長度將恰好為256字節。

暫無
暫無

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

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