問題タブ [cryptojs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - cryptojs を使用した復号化が機能しない
json経由で暗号化されたデータをクライアントに送信し、cryptojsを使用してクライアントで復号化しようとしています
私のRORコード
私のJavascriptコード
JavaScript エラー「エラー: 不正な形式の UTF-8 データ」を取得します。クロームで
以下は、上記のクエリの簡略化された jsfiddle の URL です。
cryptoapi - MS CryptoAPI が間違った RC4 結果を返す?
古い製品で作成されたファイルを使用できるようにする必要がある製品に取り組んでいます。これらのファイルの一部には、MS CryptoAPI を使用した RC4 暗号化で暗号化されたコンテンツが含まれています。これまでのところ、他の暗号化ライブラリを使用してコンテンツを正常に復号化できませんでした. いくつかの実験の後、CryptoAPI の RC4 出力は、キーが ASCII の場合は「正しい」 (つまり、他のライブラリと一致する) が、キーが ASCII でない場合 (すべてが一致する他のライブラリとは異なる) は「間違っている」 (たとえば、パスワードのハッシュ)。
私が利用したいすべてのコンテンツは、ハッシュによってパスワードから派生したキーで暗号化されていたので、現時点では少し行き詰まっています。以下のコードでわかるように、3 つのテスト ケースを含む問題を示す小さなテストを作成しました。Botan (C++) と CryptoJS (JS) は常に出力に同意します。ただし、MS CryptoAPI は ASCII キーにのみ同意します。
この問題で MS に行く前に、この問題を引き起こす可能性のある誤解や間違ったことを知っている人はいますか?
また、私の凶悪なjavascriptをお詫び申し上げます。
javascript - クライアント側 JavaScript の HMAC と ID スプーフィング
CryptoJS には、メッセージと秘密鍵から HMAC を作成する機能があります。
クライアントにデプロイされた JavaScript ソースに秘密鍵を簡単に保存する必要があることを考えると、これをどのように安全に行うことができるでしょうか?
誰でもキーを取得して、API の元のクライアントの ID でサーバーに同様のリクエストを発行できます。HMAC が解決すべき問題は「アイデンティティ」ではないでしょうか。
全体として、キーを秘密にできないため、クライアント側の JS での HMAC の目的がわかりません。
JavaScript で HMAC を計算するユースケースはありますか?
ios - PBKDF2 の結果が CryptoJS と iOS で異なる
PBKDF2 の結果は、CryptoJS と iOS で異なります。
これが私のコードです
CryptoJS
iOS
誰か助けてくれませんか?私が間違っていることは何ですか?
ありがとう
javascript - cryptoJS を使用して非常によく似た AES 実装から 2 つの異なる復号化された値を取得する (16 番目の文字で間違った結果値を取得する)
プロジェクトの暗号化ヘルパーを実装しようとしています。これらは私が使用しているcryptoJSのバージョンです:
そして、これが私が実装した方法です:
問題は、私がこの奇妙な結果を得ていることです:
原文: texto#a$ser&criptografado! ! ! !
元のテキストの16番目の文字を常に変更します。(これは、このテスト用の jsfiddle です)
そして、これは同じlibバージョンで正しく動作している別のテストです:
(これは 2 番目のバージョンのjsfiddleです)
問題は、2 番目のバージョンが機能し、最初のバージョンが機能しない理由がわからないことです。
最初のバージョンで何が間違っているか、または両方のバージョンで私の実装がすべて間違っているかどうかを誰かに教えていただければ幸いです。
ありがとう。
javascript - crypto-js DES 暗号化とパディング
8 バイト ブロックで DES 暗号化を実行するには、Crypto-JS が必要です (今のところ)。ただし、パディングなしで crypto-js でこれを達成するのに問題があります。
私が実行するとき:
出力がありません。CBC モードはパディングを必要としませんが、他のすべてのブロック モード (OFB / CFB など) を試しましたが、まだ出力がありません。Pkcs7 を使用すると、出力は提供されますが、入力ブロックがパディングされ、16 バイトの暗号メッセージが生成されます。パディングを指定すると、ブロックサイズに互換性がある場合でも常にパディングされると思いますか?
入力データを正しい方法で (16 進解析を介して) 指定していますか? 固定サイズの raw バイトを暗号化することが重要です。この例はないようです。
パディングなしでデータを DES 暗号化する正しい方法は何ですか?
javascript - AES-128-CBC 暗号文をデコードしようとすると空の文字列が返される
正しいデータ (オンライン デコーダーで検証済み) を持っていることは確かですが、デコーダーからの出力として空の文字列しか得られません。
これは私のJavaScriptです:
data
2 つのダッシュ ('--') で区切られた、Base64 でエンコードされた暗号文と IV を含む文字列です。
暗号文の 16 進表現と IV をこのツールに貼り付けて、データが正しいかどうかを確認したところ、目的の結果が得られました。
復号化関数から空の文字列 (および空の単語配列) を取得する理由を教えてください。ちなみに、このコードではエラーはまったく発生しません。
encryption - AES暗号化でNoPaddingでCBCを使用するのは正しいですか?
私は現在 mcrypt.java を使用してサーバー側とクライアント側の cryptojs からデータを暗号化および復号化していますが、文字列を暗号化すると Java と JavaScript の両方が異なる結果を表示するため、いくつかの問題があります。
さて、私は AES 暗号化の方法とパディング スキームについて読んでいましたが、NoPadding で CBC モードを使用するのは正しくなく、Pkcs7 または別のパディングで CBC を使用する方が適切/正しいと話しているブログもあります。
誰かが私に関連する何かを説明できますか?