2011-02-03 23 views
-1
 using (ICryptoTransform Encryptor = TDes.CreateEncryptor()) 
     { 
      OutputBuffer = Encryptor.TransformFinalBlock(InputBuffer, 0, 8); 
     } 


     using (ICryptoTransform Decryptor = TDes.CreateDecryptor()) 
     { 
      OutputBuffer = Decryptor.TransformFinalBlock(InputBuffer, 0, 8); 
     } 

これは問題でした。私は8文字しか暗号化しませんでした。それが私が8歳に戻ってしまった理由です。これは本当の質問であり、愚かなものではありませんでした。あなたの多くは分かりませんでした。助けてくれてありがとう、少なくとも答えようとしてくれてありがとう。なぜ8桁しか返されないのですか?

+3

私は知らない... – BoltClock

+1

は動作しないコードの一部を絞り込んでください。ここの人々は、スタックオーバーフローは、非動作コードをダンプして分単位で修正することが期待できる場所であると考えるのが好きではありません。 – zneak

+1

はあなたの問題を解決するのに役立ちますが、私たちがあなたのために全仕事をしてくれる範囲ではありません。 :) –

答えて

2

あなたが唯一の8を求めて:

Encryptor.TransformFinalBlock(InputBuffer, 0, 8) 

http://msdn.microsoft.com/en-us/library/system.security.cryptography.icryptotransform.transformfinalblock.aspx

+0

ありがとうロバート、私はちょうどあなたがコメントする前にそれを考え出した。暗号化と復号化を行う文字列の長さを確認する必要があるようです。おそらくいくつかのデフォルトバイトを使用して、すべての文字列のバイト数を同じ長さにすることができます。 誰でも暗号化クエリ文字列の値をよりよく解読し、復号化します。私は短いURLを使用しようとしています。 – Ridvan

関連する問題