バグ解決
あわてていたため、何がおかしいのかをとりちがえたみたいだ。
おかしかったのは、復号化したときのCRCチェックの結果だった。
コードの復号化自体には問題はなかった。
CRCを計算するときに、CRCの部分も含めて計算をするようなのだが、
暗号化のときにはここが0なのに対し、復号化の時には当然数値が入っている。
そのため、チェックように計算した値と、データ中の値が異なることになり、
チェックでエラーを返していた。
なぜこれを今まで気が付かなかったのかというと、合っていない場合getDecriptState()メソッドはfalseを返すのだが、falseが返れば正解だと思いこんでいたため。
つまり、最初から間違っていた。。。
しかし、直したからもう大丈夫。
そうだついでに、ソース中にGPLのコメントを入れておこう。
おかしかったのは、復号化したときのCRCチェックの結果だった。
コードの復号化自体には問題はなかった。
CRCを計算するときに、CRCの部分も含めて計算をするようなのだが、
暗号化のときにはここが0なのに対し、復号化の時には当然数値が入っている。
そのため、チェックように計算した値と、データ中の値が異なることになり、
チェックでエラーを返していた。
なぜこれを今まで気が付かなかったのかというと、合っていない場合getDecriptState()メソッドはfalseを返すのだが、falseが返れば正解だと思いこんでいたため。
つまり、最初から間違っていた。。。
しかし、直したからもう大丈夫。
そうだついでに、ソース中にGPLのコメントを入れておこう。
Comments