問題タブ [bitwise-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.
c# - C#の排他的論理和または `^`の使用法とは何ですか?
誰かがこの演算子を良い例で説明できますか?
私はこの演算子が何であるかを知っています。私は実際の例を意味します。
python - ビット代数で未知数を解く
XY と Z の 3 バイトがあるとします。
X XOR Y の結果は Z になります。
X と Z が何であるかは知っていますが、Y が何であるかはわかりません。そのため、これを理解するための簡単なスクリプトを作成しています。
とはいえ、どうやって始めたらいいのかわからない。私はそれらのいくつかを手作業で行いましたが、各ビットを1つずつ比較するだけの問題でしたが、Pythonでこれを行うにはどうすればよいですか? Y を解くための私の手順は十分に明確ではないようです。
私は実際にこのようなものを使用する必要があるだけなので、それを書くか、私のためにこれを行うものを使用するだけで十分です。
php - PHP での Xor 暗号化
Xor 暗号化は初めてで、次のコードで問題が発生しています。
これを実行すると、「dog」などの通常の文字列では機能しますが、「12345」などの数字を含む文字列では部分的にしか機能しません。
実証するには...
xor_this('dog')
= 'UYV'
xor_this('123')
= ''
xor_this( xor_this('123') )
= '123' であることに注目するのも興味深いことです。この問題は、ビット単位の演算子に対する私の不安定な理解のどこかにあると確信しています。または、PHP が数値を含む文字列を処理する方法に問題がある可能性もあります。ここで何が悪いのかを正確に知っている賢い人がそこにいるに違いない。ありがとう。
編集#1:それは本当に「暗号化」ではありません。難読化という言葉が正しいと思いますが、それは私が行っていることです。ユーザーが簡単に改ざんできないように、重要でないデータを含むコードを渡す必要があります。彼らは、時間制限のあるアクティビティをオフラインで完了し、このコードを介してオンライン スコアボードに時間を送信しています。オフライン アクティビティは、時間 (ミリ秒単位)を難読化します。このコードを受信し、時間を含む文字列に戻すスクリプトを作成する必要があります。
c++ - 整数とビット配列間のビット演算
ビット、1、0のc ++配列があり、それを整数とビット単位でXORして、結果を整数として取得したいとします。そうするための最速の方法は何ですか?
bit-manipulation - 順次XOR演算の優先順位
パリティビットを計算するための次の式があります。
AB0E XOR 73C9 XOR D46A XOR 06E3
これはどのように評価されますか?それは...ですか:
(((AB0E XOR 73C9)XOR D46A)XOR 06E3)
またはそれは:
(AB0E XOR(73C9 XOR(D46A XOR 06E3)))
c++ - このプログラムからの一貫性のない出力を引き起こすために私は何をしていますか?
そこで、パスワード文字列を要求し、それを使用してISAACをシードする基本的な xor 暗号化プログラムを作成しました。
次に、文字列を暗号化するように要求し、ISAAC からの出力と xor します。何らかの理由で、これは同じ 2 つの文字列に対して一定でない結果を生成しています。これは私のコードの問題ですか、それともコンソールに出力されているのでしょうか? 私はそれを明白にするために何かをしていますか?これが私のコードです。ISAAC のサイトで提供されているテンプレート クラスを使用しています。
編集:気にしないでください、それはすべて私が愚かだっただけです
そのため、David Schwartz から提供された修正を試みましたが、パスワードをハッシュしようとすると、再び機能しなくなりました。入力文字列をハッシュするために使用している関数は次のとおりです。
c - 一連の XOR を元に戻すことはできますか?
紙でいくつかのテストを実行しましたが、どこにも確認が見つからないようです。
いくつかの一意の 8 ビット数値があり、それらを XOR して、どこかに保存するとします。その後、後で同じ数値とその格納された数値を xor した場合、常に 0 になりますか?
基本的に、操作を実行する前に満たす必要がある条件の列挙があります。健全性チェックとして、また誤って戻ってきて後でこのコードを壊さないようにするために、必要な条件を XOR して開始し、条件が満たされたときにその保存された値で条件を XOR することを検討していました。次に、操作が発生する直前に、0 に戻っていることを確認します。
だから何か
適切な条件があれば、どこかで中間の 0 状態になる可能性があるため、完璧ではないことはわかっています。しかし、それは、将来、これらの条件の1つを誤って操作の下に移動することを防ぐためのガードとして、私自身が使用するためのものです.
c++ - C++ の構造体に対するビット単位の XOR
私がやりたいのは、C++ の同じ構造体の 2 つの変数に対するビット単位の XOR です。
ここで、D は文字列、int などを含む配列です。
ただし、コンパイラは文句を言います (ここでは整数配列をインデックスとして使用しています。つまり、D[dInd[u]]^=...):
ビット単位の XOR を実現するためにこの行を修正する方法を知っている人はいますか?
ヒントは非常に高く評価されています。前もって感謝します、乾杯 - アレックス
javascript - C++と比較したJavascriptのビット単位XOR
単純なC++関数をJavascriptに移植していますが、Javascriptがビット演算子を処理する方法に問題が発生しているようです。
C ++の場合:
Obfuscate( "test")は一時的なintvaluesを生成します
Obfuscate( "test")はstringvalueを生成します
Javascriptの場合:
obfuscate( "test")は一時的なintvaluesを生成します
obfuscate( "test")はstringvalueを生成します
今、私は、Javascriptがすべての数値をfloatとして扱い、ビット単位の操作には32ビットintへの一時的なキャストが含まれることを指摘するスレッドがたくさんあることに気付きました。
私がJavascriptで難読化し、C ++で反転していることと、異なる結果が実際には一致しないことを除いて、実際には問題にはなりません。
Javascriptの結果をC++の結果に変換するにはどうすればよいですか?簡単なシフトはありますか?