第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Fernet 在 Java 上進行對稱加密

使用 Fernet 在 Java 上進行對稱加密

海綿寶寶撒 2023-03-17 14:10:17
我想用Fernet模塊加密和解密 python 和 java 之間的消息。但我不明白他們舉的例子。反序列化現(xiàn)有密鑰:final Key key = new Key("cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4=");創(chuàng)建令牌:final Token token = Token.generate(random, key, "secret message");反序列化現(xiàn)有令牌:final Token token = Token.fromString("gAAAAAAdwJ6wAAECAwQFBgcICQoLDA0ODy021cpGVWKZ_eEwCGM4BLLF_5CV9dOPmrhuVUPgJobwOz7JcbmrR64jVmpU4IwqDA==");為什么需要一個隨機參數(shù)來加密秘密消息?我已經(jīng)在 python 中實現(xiàn)了 fermet 加密,它從不要求任何隨機源。>>> from cryptography.fernet import Fernet>>> key = Fernet.generate_key()>>> f = Fernet(key)>>> token = f.encrypt(b"my deep dark secret")>>> tokenb'...'>>> f.decrypt(token)b'my deep dark secret我怎樣才能獲得與 python 相同的加密標(biāo)準(zhǔn),以便我可以使用相同的加密密鑰?
查看完整描述

1 回答

?
牧羊人nacy

TA貢獻1862條經(jīng)驗 獲得超7個贊

使用相同的密鑰,Python 和 Java 中的實現(xiàn)將完全兼容。但是當(dāng)然,你必須在兩邊都使用同一個。如果您使用 Python 代碼作為基礎(chǔ),請執(zhí)行 aprint(key)并將相同的密鑰復(fù)制到 Java 變體(它將是一個 urlsafebase64 字符串,因此沒有傳輸問題)。在 Java 中生成令牌時,使用SecureRandom()實例。它僅用于 IV,無論如何都是令牌的一部分,因此可用于任何語言的解密代碼。Fernet Python 自動使用 good random(它是透明的,你不必選擇它)。但是,無論您在生成令牌時在 Java 中選擇什么隨機數(shù),都不會對解密代碼產(chǎn)生任何影響,只需在兩個實例中使用相同的密鑰字符串即可。



查看完整回答
反對 回復(fù) 2023-03-17
  • 1 回答
  • 0 關(guān)注
  • 265 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號