Cで書かれたコードを編集して出力されるデータの配列を逆順にしたいです。
具体的なコードは下記に置いてあります。
https://github.com/namuyan/yescryptR16-python
ソースのCheckの通りにやりますとエラーも出ずハッシュが生成されます。
しかし、出力されるバイナリが逆順であることがわかりました。
予定の出力 00001828d845205a951f9609e011775e035b00c7fb476310261ef30460cdccab
実際の出力 abcccd6004f31e26106347fbc7005b035e7711e009961f955a2045d828180000
Cは触った事が無いのでどのようにすればいいのかわかりません。
どのようなコードに修正すればできるようになりますか?
解答の方を宜しくお願い致します。
追記
"やってほしいことだけを記載した丸投げの質問" とありましたので追記をします。
https://github.com/namuyan/yescryptR16-python/blob/master/yescrypt.c#L105
yescrypt_hashのoutputの配列を直接触れば配列を逆順にできると考えています。(正しいか不安ですが)
そこで実際に下記のようなコードを入れてみましたが、コンパイルが通ったもの逆順にならず結果はそのままでした。outputはポインターのようなものだと思うのでこれで通ると思いましたが。
C
1static void yescrypt_hash(const char *input, char *output) 2{ 3 yescrypt_r16((const uint8_t *) input, 80, 4 (const uint8_t *) input, 80, 5 (uint8_t *) output, 32); 6 7 for(int j = 0; j < 16; j++){ 8 int t = output[j]; 9 output[j] = output[32- j - 1]; 10 output[32 - j - 1] = t; 11 } 12}
回答4件
あなたの回答
tips
プレビュー