2012-03-29 63 views
0

我只是在erlang中使用crypto時使用填充模式:des_ecb_encrypt/2時感到困惑。 在此先感謝!使用加密時使用的填充模式是什麼:erlang中的des_ecb_encrypt/2

+0

呃,如果我沒有弄錯,它似乎沒有做任何填充。您可能必須自行打開/取消打印。你可以嘗試加密單個字節或字符嗎?如果失敗,則無需填充即可運行。如果有效,請嘗試解密並查看輸出是否匹配。如果沒有,則執行某種自動但未定義的填充。 – 2012-03-29 19:27:15

+0

只是爲了我的信息,那/ 2是什麼意思? – 2012-03-29 19:32:41

+1

函數/ 2是arity 2函數的語法(兩個參數)。 – butter71 2012-03-30 03:39:40

回答

0

爲了找出問題,加密一些不是整數個塊的明文。使用「無填充」解密它,並查看加密過程添加到最後一個塊的末尾。

如果加密失敗,那麼它可能會期望您先添加自己的填充。如前所述,使用PKCS5或PKCS7填充。

+0

我沒有發佈它作爲答案,因爲我不確定什麼樣的填充使用了rossum,你的回答基本上是我的評論,而不告訴實際的填充機制。 – 2012-03-31 14:40:05

+0

我給你一種方法來找出正在使用的填充機制:使用「無填充」解密並查看添加到最後一個塊的填充。 – rossum 2012-03-31 18:27:46

+0

不要介意rossum,我正在發表評論,而不是提問。我已經建議加密一個字節並解密輸出 - 我只是沒有把它作爲答案,因爲它不是一個可以直接使用的答案。 – 2012-03-31 19:36:22

相關問題