Develop and Download Open Source Software

Browse CVS Repository

Contents of /gikonavigoeson/gikonavi/Encrypt/README.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Sat Aug 9 13:51:12 2003 UTC (20 years, 8 months ago) by hi_
Branch: MAIN
CVS Tags: v1_59_0_771, v1_59_0_770, v1_59_0_773, v1_59_0_772, v1_59_0_775, v1_59_0_774, v1_59_0_777, v1_59_0_776, v1_56_0_715, v1_59_0_778, v1_63_1_819, b49, v1_57_0_737, v1_62_0_812, v1_57_0_735, v1_57_0_734, v1_57_0_733, v1_57_0_732, v1_57_0_731, v1_57_0_730, v1_50_2_606, v1_51_0_612, v1_50_0_581, v1_50_0_580, v1_50_0_587, v1_50_0_586, v1_57_0_739, v1_57_0_738, v1_59_1_765, v1_51_1_639, v1_53_0_671, v1_50_0_595, v1_60_0_788, v1_60_0_789, v1_54_0_677, v1_54_0_676, v1_50_0_572, v1_58_0_748, marged-Bb50, v1_58_0_745, v1_60_0_781, v1_60_0_782, v1_58_0_746, v1_60_0_784, v1_54_0_678, v1_60_0_786, v1_60_0_787, v1_56_0_707, v1_59_0_767, v1_56_0_705, v1_56_0_704, v1_56_0_703, v1_56_0_702, v1_56_0_701, v1_56_0_700, v1_59_1_778, v1_51_0_626, v1_57_0_723, b51, v1_52_1_658, v1_51_0_622, v1_59_0_768, v1_59_0_769, v1_50_0_598, v1_57_0_725, v1_57_0_726, v1_57_0_727, v1_57_0_720, v1_57_0_722, v1_57_1_744, v1_50_0_590, bv1_49_0_564, v1_50_0_593, v1_57_0_728, v1_57_0_729, v1_50_0_596, bv1_49_0_563, v1_52_0_646, v1_50_0_557, v1_57_0_736, v1_50_0_585, v1_51_0_611, v1_51_0_620, v1_52_0_644, v1_58_0_752, v1_58_0_750, v1_58_0_751, v1_58_0_756, v1_58_0_757, v1_58_0_754, v1_58_0_755, v1_58_0_759, v1_52_0_643, v1_57_0_719, v1_57_0_718, v1_56_0_716, v1_54_0_687, v1_56_0_710, v1_56_0_711, v1_56_1_717, v1_56_1_716, v1_51_0_634, v1_51_0_635, v1_51_0_636, v1_51_0_637, v1_54_0_688, v1_54_0_689, v1_51_0_632, v1_51_0_633, v1_49_0_548, v1_50_0_603, v1_54_0_684, v1_50_0_582, v1_54_0_685, v1_49_0_542, v1_49_0_545, v1_49_0_544, v1_49_0_547, v1_53_0_664, v1_61_0_796, v1_61_0_797, v1_61_0_795, v1_52_0_647, v1_61_0_798, v1_61_0_799, v1_50_0_604, v1_51_0_638, v1_52_0_648, v1_53_0_661, v1_53_0_663, v1_53_0_662, v1_53_0_665, v1_53_0_667, v1_53_0_666, v1_53_0_669, v1_53_0_668, v1_55_0_692, v1_55_0_693, v1_55_0_696, v1_55_0_697, v1_55_0_694, v1_55_0_695, v1_49_0_554, merged-remodeling, v1_50_0_577, v1_49_0_551, v1_52_0_645, v1_52_0_651, v1_54_1_691, v1_52_0_650, v1_56_2_724, v1_50_0_606, v1_56_2_722, v1_50_0_588, v1_52_0_652, v1_55_1_697, v1_52_0_642, v1_52_0_654, v1_51_0_616, v1_56_0_714, v1_51_0_614, v1_51_0_615, v1_53_0_672, v1_51_0_613, v1_53_0_670, v1_63_0_818, v1_63_0_817, v1_63_0_816, v1_63_0_815, v1_51_1_640, v1_54_0_686, v1_51_0_618, v1_51_0_619, bv1_49_0_565, v1_54_0_680, v1_54_0_681, v1_62_0_805, v1_62_0_804, v1_62_0_807, v1_62_0_806, b50, v1_56_0_712, v1_62_0_803, v1_62_0_802, v1_49_0_552, v1_56_0_713, v1_62_0_809, v1_50_0_574, v1_54_0_682, v1_49_0_553, v1_50_0_584, v_step1, v1_56_0_721, v1_49_0_546, v1_50_0_573, v1_50_0_600, v1_51_0_630, v1_50_0_571, v1_54_0_683, v1_51_0_631, v1_49_2_569, v1_60_0_780, v1_60_0_779, v1_62_0_810, v1_62_0_811, v1_58_0_747, v1_60_0_783, root-of-draw, v1_50_0_576, v1_54_0_679, v1_59_2_785, marged_bRESPOPUP, v1_50_2_604, v1_50_0_578, v1_54_0_675, v1_51_0_628, v1_50_0_579, v1_51_0_617, root-of-Bb50, root-of-Bb51, v1_56_0_706, root-of-remodel, root-of-Bb53, v1_50_0_594, v1_49_0_541, v1_52_1_657, v1_54_0_674, v1_52_0_660, v1_60_1_793, v1_50_0_602, v1_51_0_629, v1_54_0_690, v1_51_0_627, v1_50_0_601, v1_58_0_763, v1_58_0_762, v1_58_0_761, v1_58_0_760, v1_51_0_625, v1_62_1_813, v1_51_0_623, v1_57_2_749, v1_50_0_605, v1_57_0_742, v1_57_0_743, v1_57_0_740, v1_57_0_741, v1_52_0_655, v1_56_0_709, v1_57_0_744, v1_52_0_656, v1_56_0_708, v1_52_0_649, v1_61_0_800, v1_53_1_673, v1_50_0_599, v1_56_0_699, v1_56_0_698, v1_50_0_561, v1_51_0_624, v1_51_1_641, v1_51_0_621, v1_60_0_793, v1_60_0_792, v1_60_0_791, v1_60_0_790, v1_60_2_794, v1_61_1_801, HEAD
Branch point for: Bb57, Bb56, Bb55, Bb53, Bb52, Bb51, Bb62, Bb63, Bb60, Bb61, remodeling, Bb59, Bb58, Bb50, hi, bRESPOPUP, bListSU, Bb49, Bb54, Bdraw
File MIME type: text/plain
Initial revision

1 CryptoWrapper for Delphi 6 Personal (Windows)
2
3 【概要】
4 WindowsのCryptoAPIを使うwrapperです。
5 パスワード抜きで暗号化するとか、そういう用途。
6 勿論パスワードつけてもいいです。
7 いや、つけたほうが何かと安心。
8
9 【動作環境】
10 CryptoAPI の動作環境は以下の通りらしいです。
11 Windows NT: Requires version 4.0 or later.
12 Windows: Requires Windows 95 OSR2 or later
13 (or Windows 95 with IE 3.02 or later).
14 Windows CE: Unsupported.
15
16 【最初に弱点?】
17 パスワードをつけずにEncodeする場合、UserKey(EXCHANGE)を利用してます。
18 これがまだ無い場合に限りKeyを生成するようにしてあ(りま|るつもりで)すが、
19 どこかでKeyを上書で作られると保存しておいたモノが復号できなくなって、
20 「壊れてないのになんで読めないの?」になります。
21
22 パスワードをつけてEncodeする場合は上記は関係ないですけど、
23 そうすると他のフリーなコード方が汎用的かも。
24 折衷案として、パスワード付きで別途保存しておくというのもアリかもです。
25 「ペットの名前は?」とかいうやつ。
26
27 【その他】
28 UserKeyはWindowsのユーザ毎に管理されてるみたいです。
29 パスワードをつけなかった場合、Encodeしたのとは別の
30 アカウント(Windowsのヤツ)では復号できません。
31
32
33 【フォルダ】
34 CryptAuto
35 キーコンテナやUserの交換キーが無ければ勝手に作っちゃう
36 お任せバージョンです。
37
38 Crypt4Init
39 キーコンテナやUserの交換キーが無ければ作る だけ のサンプルAPです。
40 上記のCryptAutoを呼んでるだけです。
41 キーを作るのは1回やっとけば良いんで。
42
43 Crypt
44 「キーコンテナやUserの交換キーが無ければ勝手に作っちゃう」部分を
45 削除したバージョンです。
46 無い場合には勿論暗号化できません。
47 お任せバージョンが不安な時に。
48
49 CryptPwdOnly
50 キーコンテナが無ければ作るけどUserの交換キーは作らないバージョンです。
51 パスワードを指定する場合にはこれで間に合います。
52
53 Innacurate
54 <em>インチキ</em>Base64です。
55 暗号化自体とは関係ありません。
56 ちょっと書いてみただけ。
57
58 【Usage】
59 class THogeCrypt*; // * のところはUnitとか参照して下され
60
61 constructor THogeCrypt*.Create; // 準備
62 destructor THogeCrypt*.Destroy; // 済んだ
63
64 function THogeCrypt*.Encrypt( // 暗号化する
65 PlainText: TStream; // [in] 暗号化したいもの
66 Password: String; // [in] パスワード。空文字列でも可。
67 Encrypted: TStream // [out]暗号化されて出てくる
68 ): Boolean; // 失敗したらFalse
69
70 function THogeCrypt*.Decrypt( // 復号する
71 Crypted: TStream; // [in] 暗号化されてるもの
72 Password: String; // [in] パスワード。空文字列も有り。
73 Decrypted: TStream // [out]復号されて出てくる
74 ): Boolean; // 失敗したらFalse
75
76 暗号化されたモノはバイナリ列になります。
77
78 【一番大切なこと】
79 無保証。改造その他何でもご自由に。
80
81 This program is free software, and distributed in the hope that it will
82 be useful, but WITHOUT ANY WARRANTY; without even the implied
83 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
84
85 -----------------------
86 2002 Twiddle

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26