掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Blowfishの使い方 (ID:32162)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>原因はEditさん ご指摘のとおりでした。 上でtttさんにもご指摘いただきながらちゃんと検証できてなかったです。 「同じstringだからいいじゃん」という考えが甘かったようです。 >oftさん 大変お手間を取らせました。 ほんとうに助かりました。 ----------------------------------- implementation uses Blowfish, CryptUtils; var BeforEncode, AfterEncode: Integer; EncodedStr: string; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); const Key = 'ABCDEFG'; IV: array [0..1 - 1] of Int64 = ($1234567890123456); var Src: string; begin Src := Edit1.Text; BeforEncode := Length(Edit1.Text); with (TCryptCBC.Create(Key, TBlowFish.Create, IV, SizeOf(IV), pmStandard)) do try SetLength(EncodedStr, OutputSize(BeforEncode)); AfterEncode := Encode(Src[1], EncodedStr[1], BeforEncode); Edit1.Text := EncodedStr; finally Free; end; end; procedure TForm1.Button2Click(Sender: TObject); const Key = 'ABCDEFG'; IV: array [0..1 - 1] of Int64 = ($1234567890123456); var Src, Decoded: string; Size: Integer; begin Src := EncodedStr; SetLength(Src, AfterEncode); SetLength(Decoded, AfterEncode); with (TCryptCBC.Create(Key, TBlowFish.Create, IV, SizeOf(IV), pmStandard)) do try Size := Decode(Src[1], Decoded[1], AfterEncode); SetLength(Decoded, Size); Edit2.Text := Decoded; finally Free; end; end; ----------------------------------- Encodeした文字列をグローバルで保持することで キレイに動作するようになりました。 ご協力いただいたみなさん、ほんとうにありがとうございました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.