file_read_decrypt
指定した暗号化されたファイルを読み取り、ファイルの内容を返します。
定義¶
名前空間: Alice.IO
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.IO.cs
file_read_decrypt(string,bool,string,number,number,bool)¶
指定したファイルをAES-CBC方式で復号しながら読み取り、読み取った結果のファイルの内容を返します。
namespace Alice.IO;
public void file_read_decrypt(string path, bool fromPackage, string password, number keySize = 128, number iterations = 1024, bool useSHA512 = false);
| 引数 | |
|---|---|
path |
読み込むファイルのパス |
fromPackage |
ファイルを現在のパッケージから読み取る場合はtrue、ファイルシステムから読み取る場合はfalse |
password |
復号に使用するパスワード |
keySize |
復号に使用する鍵長。この値は128、192、256のいずれかである必要があります。既定値は128です。 |
iterations |
ハッシュ値の計算のストレッチ回数。この値が大きいほど安全性が向上し、パフォーマンスが低下します。既定値は1024です。 |
useSHA512 |
ハッシュ値の計算にSHA512方式を使用する場合はtrue、SHA256方式を使用する場合はfalse。既定値はfalseです。 |
| 対応 | |
|---|---|
| AliceScript | 3.0、4 |
| AliceSister | 3.0、4 |
| Losetta | 0.10、0.11 |
実装に関する注意
この関数はAliceSisterでは仕様が異なります。 詳しくは説明をご覧ください。
説明¶
sourceやdestinationには、相対パスと絶対パスのどちらを指定することもできます。
相対パスを指定した場合、カレントディレクトリからの相対パスとして解釈します。
パスの大文字と小文字の区別は、環境およびファイルシステムに依存します。たとえば、NTFSでは大文字と小文字は区別されませんが、LFSでは大文字と小文字が区別されます。
この関数は、ファイルを開き、ファイル内のデータをすべて読み取った後ファイルを閉じて結果を返します。
この関数は、指定したファイルをAES-CBC方式で復号しながら読み取り、読み取った結果のファイルの内容を返します。 復号には、AES-CBC方式を使用します。この方式では、初期化ベクトルを使用して同じ入力に対して毎回異なる結果を返します。また、この関数ではブロック暗号のパディングとして、ISO10126方式を使用します。
keySizeには、暗号化時に使用されていた鍵長を指定します。たとえば、256を指定した場合は、AES-256-CBC方式で暗号化してことになります。
また、useSHA512をtrueにするとハッシュ値の計算にSHA512を使用します。trueを指定した場合は、AES-256-SHA-512方式で暗号化したことに、falseを指定した場合はAES-256-SHA-256のように表現できます。
この関数は、通常file_write_encryptで暗号化したファイルを復号するのに使用します。
AliceSisterでは、useSHA512がtrueのとき、0x034 NOT_IMPLEMENTED例外がスローされ、useSHA512がfalseのときSHA1アルゴリズムを使用します。
このため、AliceSisterとその他の実装の間で、この関数の出力するバイナリの互換性はありません。
例¶
次の例では、入力したファイルをAES-256-SHA512方式で復号しコピーを作成する関数を作成し、test1.txtの復号されたコピーをtest2.txtに作成します。