![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0 |
| ICIPHER_Flush | |
| ドキュメントエラー | A5304T、BREW 2.1 以前の全ての SDK と実機 |
現在、ICIPHER インタフェースではブロック暗号アルゴリズムをサポートしておりません。 このため、この関数は現在使う必要がありません。
| パブリック関数 | |
|---|---|
| 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);
// 暗号化する前のデータを出力します。
DBGPRINTF("srcData -- %s", srcData.GetBuffer());
// 暗号化します。
cipher->Cipher(srcData.GetBuffer(), size, encData, &size);
// 暗号化したデータを出力します。
DBGPRINTF("encData -- %s", (char*)encData);
// 復号化で使用する鍵を設定します。
cipher->Init(key, keySize);
// 復号化します。
cipher->Cipher(encData, size, decData, &size);
// 復号化したデータを出力します。
DBGPRINTF("decData -- %s", (char*)decData);
// バッファを解放します。
FREE(encData);
FREE(decData);
}
[ public ] Void Flush(Void);
![]() |
Tip |
|---|---|
BREW SDK 2.1 以前では、ICipher インターフェイスで ブロック暗号化アルゴリズムはサポートされていません。 このため、この関数は現在は使う必要がありません。 | |
[ public ] SFCError Init( VoidConstPtr key // 鍵へのポインタ。 SInt32 keySize // 鍵サイズ(バイト数)。 );
[ public ] SFCError Init( SFXBufferConstRef key // 鍵へのポインタ。 );
[ public, static ] SFBCipherSmp NewInstance( AEECLSID clsid // 暗号化インターフェイスのクラス ID );
暗号化インターフェイスを作成し、ICipher として返します。 クラス ID として指定できるのは下記のいずれかです。 指定したクラス ID に応じて使用する暗号化アルゴリズムが変わります。
| AEECLSID_ARC4 |
| AEECLSID_DES_ENCRYPT |
| AEECLSID_DES_DECRYPT |
| AEECLSID_3DES_ENCRYPT |
| AEECLSID_3DES_DECRYPT |
|
Copyright (C) 2002 - 2009 Sophia Cradle, Inc. All Rights Reserved. |
![]() ![]() ![]()
|