![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0 |

| BREW 2.0 | BREW 2.1 | BREW 3.1 | BREW 4.0 |
|---|---|---|---|
| ○ | ○ | ○ | ○ |
| パブリック関数 | |
|---|---|
| SInt32 |
Cipher(
VoidConstPtr data
, SInt32 dataSize
, VoidPtr result
, SInt32Ptr resultSize
) Cipher( SFXBufferConstRef data , SFXBufferPtr buffer )
データを暗号化または復号化します。
|
| Void |
Flush( Void )
ブロック暗号化において、
最後の未処理ブロックを決定済みのバイトで埋めることによりブロックを完成させます。
|
| SFCError |
Init(
VoidConstPtr key
, SInt32 keySize
) Init( SFXBufferConstRef key )
暗号化または復号化の鍵を初期化します。
|
| static SFBCipherSmp |
NewInstance(
AEECLSID clsid
)
SFBCipher クラスのインスタンスを生成します。
|
[ public ] SInt32 Cipher( VoidConstPtr data // 暗号化 / 復号化するデータへのポインター。 SInt32 dataSize // 入力データのサイズ( バイト数 ) VoidPtr result // 暗号化 / 復号化されたデータを格納するバッファ SInt32Ptr resultSize // 出力のサイズ( バイト数 ) );
[ public ] SInt32 Cipher( SFXBufferConstRef data // 暗号化 / 復号化するデータへのポインター SFXBufferPtr buffer // 暗号化 / 復号化されたデータを格納するバッファ // バッファサイズは呼び出しの中で SInt32 になる );
共通鍵暗号方式で暗号化と復号化を行います。
// 暗号化、復号化で使用する鍵を決める char key[] = {"Key Cipher"}; SInt32 keySize = STRLEN(key); // SFBCipher のインスタンスを作成する // ArcFour (RC4 互換) 方式で暗号化を行う SFBCipherSmp cipher = SFBCipher::NewInstance(AEECLSID_ARC4); // 暗号化で使用する鍵を設定する if (SUCCESS == cipher->Init(key, keySize)) { SFXAnsiString srcData("Cipher"); SInt32 size = src_data.GetLength() + 1; VoidPtr encData = MALLOC(size); VoidPtr decData = MALLOC(size); // 暗号化する前のデータを出力する TRACE("srcData -- %s", srcData.GetBuffer()); // 暗号化する cipher->Cipher(srcData.GetBuffer(), size, encData, &size); // 暗号化したデータを出力する TRACE("encData -- %s", (char*)encData); // 復号化で使用する鍵を設定する cipher->Init(key, keySize); // 復号化する cipher->Cipher(encData, size, decData, &size); // 復号化したデータを出力する TRACE("decData -- %s", (char*)decData); // バッファを解放する FREE(encData); FREE(decData); }
[ public ] Void Flush(Void);
![]() |
Tip |
|---|---|
BREW SDK 2.1 以前では、SFBCipher インターフェースで ブロック暗号化アルゴリズムはサポートされていません。 このため、この関数は現在は使う必要がありません。 | |
[ public ] SFCError Init( VoidConstPtr key // 鍵へのポインター SInt32 keySize // 鍵サイズ( バイト数 ) );
[ public ] SFCError Init( SFXBufferConstRef key // 鍵へのポインター );
[ public, static ] SFBCipherSmp NewInstance( AEECLSID clsid // 暗号化インターフェースの ClassID );
暗号化インターフェースを作成し、ICipher として返します。 ClassID として指定できるのは下記のいずれかです。 指定した ClassID に応じて使用する暗号化アルゴリズムが変わります。
| AEECLSID_ARC4 |
| AEECLSID_DES_ENCRYPT |
| AEECLSID_DES_DECRYPT |
| AEECLSID_3DES_ENCRYPT |
| AEECLSID_3DES_DECRYPT |
|
Copyright (C) 2002 - 2008 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|