問題タブ [xor]

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.

0 投票する
4 に答える
228 参照

c++ - ループを抜けると文字列の内容が変わる

与えられた文字列が特定の条件に一致するかどうかをチェックし、引数として受け取った 2 つの文字列に基づいて 3 番目の文字列を生成する単純な関数があります。3弦は大丈夫なのですが、戻すといきなり「\n」になってしまいます。

forsReturnは問題なく、正しい内容を持っていますが、ループが存在するとすぐに、デバッガーは突然、内容が " \n" であると通知します。私は何を間違っていますか?

0 投票する
1 に答える
917 参照

math - シーケンシャル Xor プロシージャの最終結果出力から元の値を見つける方法は?

問題は、B の元の値、または C または A の元の値を取得したいことです。コードは次のとおりです。

これを行う方法?この問題の正しい解決策を教えてください。式を適用すると元の値が明らかになる可能性がある別のパラメーターがある場合: "A"、"B"、"C"。ありがとうございました。

0 投票する
4 に答える
1375 参照

delphi - xor暗号化:キーの値を904932に設定して「d」を使い果たします

xor暗号化を実装するプログラムを作成しています。プログラムをいじりながら、さまざまなキーの組み合わせを入力しました。キーの値を入力するまで、プログラムは完全に機能していました。はデクスターで、edit1の愚かな妹のdedeが嫌いです。暗号化して逆に復号化すると、edit1のテキストが作成されます。

0 投票する
3 に答える
150 参照

c# - このデコード関数に基づいてエンコード関数を作成するにはどうすればよいですか?

このデコード関数に基づいてエンコード関数を作成するにはどうすればよいですか?インターネットでDecode関数のソースコードを入手しましたが、Encode関数が必要です。

それを作るための私の試みはすべて失敗し、元のコーダーは現在利用できません。

(元の)コード:

0 投票する
1 に答える
4631 参照

cryptography - OTP/XOR 同じ鍵を持つ 2 つの暗号文の解読

同じ鍵を 2 回使用した 2 つの暗号文を解読するにはどうすればよいですか? たとえばplaintext1、キー"abcdefg"を使用し、キーをplaintext2使用します"abcdefg"

ciphertext2 ^ ciphertext1に等しいことはわかっていplaintext1 ^ plaintext2ます。また、解読plaintext1 ^ plaintext2方法は「ブックサイファー」の解読方法と同じです (「ランニングキー暗号」と呼ばれることもありますが、ランニングキー暗号はブックサイファーと同じではありませんよね?)。

辞書攻撃を使用することになっていることはわかっていますが、使用すべき辞書/単語リストと、これを解読するために使用されるアルゴリズムがわかりません。リンク、またはクラック方法を示すコードを提供してくれる人はいますか?

私は暗号化が初めてで、楽しみのためにこれをやりたかっただけです。誰でも私を助けることができますか?ありがとう。

0 投票する
2 に答える
3280 参照

java - このステートメントがJavaで機能しないのはなぜですかx^= y ^ = x ^ = y;

値が入れ替わると思いますが、x=0とy=1になります。C言語で試してみると、正しい結果が得られます。

0 投票する
2 に答える
2310 参照

java - Java での XOR 暗号化: 復号化後にデータが失われる

私は現在、ワンタイム パッドを実装するための非常に小さな Java プログラムを作成しています。ここでは、パッド (またはキー) 自体が SecureRandom オブジェクトを使用して一連のバイトとして生成され、SHA- 512 アルゴリズム。

ワンタイム パッドを生成しても問題は発生しませんでした。毎回同じシード文字列を指定すると、予想どおり、疑似乱数の同じシーケンスが得られ、復号化する人が持っている限り、復号化プロセスが可能になります。暗号化に使用されるシード文字列。

ファイルを暗号化しようとすると、プログラムは一度に 64 文字のデータを読み取り (通常は奇数であるファイルの終わりを除く)、64 バイト (または一致する量) の疑似乱数バイトを生成します。両方の配列の要素間で XOR が実行され、暗号文字を含む結果のchar配列がファイルに書き込まれ、ファイル内のすべてのテキストが読み取られるまでプロセスが繰り返されます。

ここで、Java はすべてのプリミティブを符号付きの数値 (データ型のバイト範囲は 0 から 255 ではなく、-128 から 127 の範囲) として扱うため、XOR 演算の結果が負の値 (-128 から -1) になる可能性があることを意味します (-128 から -1)。 . Java はこれらの値を有効な ASCII として認識せず、単純に ? を書き込むようです。(疑問符) をファイルに追加して、負の値を指定します。暗号文を復号化するためにファイルから読み取る場合、? ファイルに書き込まれる必要のある文字は失われ、疑問符の有効な ASCII コードである 63 に置き換えられます。

これは、この値を XOR しても意味がなく、元の値がなければ平文を生成する方法がないことを意味します。ちなみに、一部のデータを暗号化してから、その直後にデータを復号化する動作を、同じプログラムの実行中に再現し、途中でステータスを出力しても問題ありません。データがファイルに書き込まれた場合にのみ、情報が失われます。

また、各暗号化 XOR の結果に 128 を加算してから、復号化 XOR (各値を有効な ASCII 範囲に入れるため) を実行する前にそれを減算しようとしたことにも言及する必要がありますが、? 128 から 159 までの 31 個の ASCII コードが読み取れず、?

私はこれでしばらく頭をぶつけていましたが、助けていただければ幸いです。乾杯。

0 投票する
2 に答える
5345 参照

java - xorとのスワップがC++では正常に機能するのに、Javaでは機能しないのはなぜですか?いくつかのパズル

重複の可能性:
このステートメントがJavaで機能しないのはなぜですかx ^ = y ^ = x ^ = y;

サンプルコード

C ++では変数を交換しますが、Javaではa = 0、b = 4になるのはなぜですか?

0 投票する
1 に答える
283 参照

amazon-ec2 - Amazon EC2インスタンスID-なぜXORなのか?

Guy RosenRightScaleによると、Amazon EC2インスタンスIDには、「内部ID」の前半と後半に対して2つのXORが含まれ、3つすべてが独自の定数に対して含まれています。

Amazonがなぜこれを行うのか正確にはわからないことを理解しています。しかし、一般的な観点から、誰かがこの種のXORを実装または見たことがあり、なぜこのXORが実装されるのでしょうか。

IDを難読化するのを助ける唯一の目的はありますか?

0 投票する
6 に答える
15043 参照

boolean - XOR と NOT-EQUAL-TO の違いは何ですか?

私の質問では例として Java を使用していますが、おそらくすべてに当てはまると思います。

ブール値を比較する場合、XOR 演算子 ( ^Java の場合) と not-equal-to 演算子 ( Java の場合)の間に実際的な違いはありますか?!=

私はここで物事を評価しましたが、不思議に思っていました (奇妙に思えます、2 つのことが等しい)...そしてネット上で何も見つかりませんでした。なんらかのフォーラムでのたった 1 つのディスカッションで、結果が得られずにすぐに終了しました。