2010-12-08 36 views
2

VB.NET(私が見つけた唯一の.NET実装)を使用して開発されたTEA暗号化アルゴリズムを使用して、C#プロジェクトで例外を取得しようとしています(System.OverflowException:算術演算でオーバーフローが発生しました)TEA C#での暗号化

TEA用のC#実装があるかどうかは不思議でした(何も見つかりませんでした)。

エンコード/デコードはQueryStringパラメータ上にあるため、文字列ではなくIntsで使用する必要があります。

ご協力いただければ幸いです。

ありがとうございました。

+0

私はあなたのVB版と元の版を見て、それらは異なっています - 例えば、ループ内の他の計算の前に 'sum + = delta'という行があります。オリジナルでは、3つの課題のうち2番目の課題です。あなたのバージョンを機能的に同じものにすると、エラーは消えてしまうと思います。 – Hogan

+0

なぜTEAを選んだのですか? – CodesInChaos

+0

私は高速な操作で簡単に暗号化を実装する必要がありました。私は高い暗号化能力を必要としません。 – Roman

答えて

0

あなたが実際に提供記事はTEA実装がから来たことをC#CodeProjectの記事にリンクします。それでも問題が解決しない場合は、あなたがあなたの元を投稿することができhttp://www.codeproject.com/Articles/6137/Tiny-Encryption-Algorithm-TEA-for-the-Compact-Fram

+0

リンクでC#コードを使用しようとします...すぐに更新されます:) – Roman

+1

これらはバグもあります(文字列が4倍でない場合など)。とてもうるさい。最終的には – Roman

+0

が仕事のようです:)ありがとう。 – Roman

0

オーバーフロー例外を抑制するためにコードをuncheckedブロックに入れる必要があります(CおよびJavaの場合と同じように操作がオーバーフローするようにする必要があります)。

+0

試してみましたが、C#コードでチェックされていないブロックを置くとVB.NETコードには影響せず、vb.netにチェックされていないブロックはありません。 – Roman

+0

コンパイルオプションの下に見つかりました。 System.OverflowException:値が大きすぎるか小さすぎる、符号なしバイト – Roman

関連する問題