私は、CipherInputStreamなどを使用してバイトを暗号化しているインターネット上のコードサンプルをいくつか見つけました... 1000ビットのようなファイルを持っていたらどうすればDESを適用できますか?私はJavaでそれをやっていますDESなどの暗号化アルゴリズムをビットまたはバイトに適用する必要がありますか?
答えて
Javaには1バイト未満のものにアクセスできるプリミティブ型はありません。したがって、Javaのビットではなくバイトで作業する必要があります。
1000ビットのようなファイルがあれば、どのようにDESを適用できますか?
バイトを使用します。 Cipher.doUpdateとCipher.doFinalメソッドはバイトを使用しますが、むしろそれらの配列です。パディングなしのデータを処理するには、適切なパディングスキームを使用します。
... Byteを表すビット数は 'java.lang.Byte.SIZE'で与えられます。 –
@Fatal、JLSはそれを定義します。 –
私には恥があります。 JLSとは何ですか? :-) –
これはダウン投票にもかかわらず、かなり合理的な質問です。
多くの暗号化モード(CBCなど)では、入力が基本暗号のブロックサイズの倍数であることが必要です(たとえば、AESの場合は16バイト、DESの場合は8バイト)。これを達成するために、パディングスキームを使用する。 平文を任意のビット長で暗号化できるかどうかは、使用する埋め込みスキームによって異なります。
最も一般的に使用されるパディングスキーム(つまり、PKCS#5パディング)は、nバイトの値nをプレーンテキストの前に付加します。 これは明らかに平文がバイトであることを必要とします。しかし、任意の入力を可能にするパディングスキームは知られていません。たとえば、いわゆる「ビットパディング」は、プレーンテキストに1つの1ビットを追加し、入力の長さが暗号のブロックサイズの倍数になるまで、必要な数の0ビットを追加します。例えば、ISO/IEC 9797-1標準がこれを提案している。
アプリケーションで任意のビット長をサポートするかどうかは、使用する暗号ライブラリも考慮する必要があります。いくつかの暗号アルゴリズムは、ビット単位で任意のサイズの入力を可能にするために標準化されていますが、暗号ライブラリでは実装できない場合があります。 など。ハッシュ関数SHA-1は4ビットの文字列 '0101'などの入力に対しては十分に定義されていますが、 はこのハッシュを実際に計算できるライブラリを見つけるのに問題があります。
- 1. userIdInt、commentidなどはウェブサイトで暗号化する必要がありますか?
- 2. APNSトークンを暗号化する必要がありますか?
- 3. node.js:暗号化する必要があるデータを暗号化しますか?
- 4. 鍵長にはDES-EDGE-CBC暗号がありますか?
- 5. S3暗号化ファイルを復号化する必要はありますか?
- 6. Crypto-js DES(またはTriple DES)CBCモードでの暗号化
- 7. Python DES暗号化
- 8. DES暗号化キー
- 9. opensslで64ビットDESを使用して暗号化
- 10. SQLiteのセキュリティオプションは、データベースを暗号化する必要がありますか?
- 11. DESの暗号化が、Fortifyには、私はDESの暗号化すると解読
- 12. ivとしてエラーを与えるaes暗号化は16バイト長である必要があります
- 13. 4桁の暗号化された暗証番号をキーストアに保存する必要があります
- 14. 56ビットDESが64ビットにパディングされ、1バイトの復号化の不足が発生しました
- 15. DES、RSAの暗号化と復号化
- 16. CloudSQLデータベースのデータを暗号化する必要がありますか?
- 17. アンドロイド開発のsharedpreferenceを暗号化する必要がありますか?
- 18. AES暗号化でIVが16バイトの長さである必要があります
- 19. Azureサービスパッケージを暗号化するために暗号化がどの程度信頼性がありますか?
- 20. openid claim_idを暗号化して保存する必要がありますか?
- 21. DES-ECB暗号化と復号化
- 22. DES暗号化からRSA暗号化への変換
- 23. どのようにDESアルゴリズムを使用してオブジェクトの一部のデータを暗号化または復号化するか
- 24. アセンブリ8086:DES暗号化バイナリシフト
- 25. DESとパスワードで暗号化
- 26. MsOfficeはファイル暗号化にどのようなアルゴリズムを使用しますか?
- 27. OAuth2.0暗号化の前に、リフレッシュトークンのコンテンツ形式はどのようにする必要がありますか?
- 28. androidのDBファイルを暗号化する必要があります
- 29. PHPで暗号化されたOpensslをRubyで復号化する必要があります
- 30. Java DES誤った暗号化
バイトは単純に8ビットのグループであることはご存知でしょうか? – zneak
はいわかっています!私は実際には7、-115,88などの値を持つバイト配列を持っています。 –
人々はあなたを助けてくれて、素敵です! – user774411