base 64 から CryptoStream を変換します。
この型のすべてのメンバの一覧については、FromBase64Transform メンバ を参照してください。
System.Object
System.Security.Cryptography.FromBase64Transform
Public Class FromBase64Transform
Implements ICryptoTransform, IDisposable
[C#]
public class FromBase64Transform : ICryptoTransform, IDisposable
[C++]
public __gc class FromBase64Transform : public ICryptoTransform,
IDisposable
[JScript]
public class FromBase64Transform implements ICryptoTransform,
IDisposable
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
Base 64 Content-Transfer-Encoding は、任意のビット シーケンスをユーザーが判読できない形式で表します。
使用例
Imports System
Imports System.IO
Imports System.Security.Cryptography
Namespace ToBase64Transform_Examples
Class MyMainClass
Public Shared Sub Main()
'Insert your file names into this method call.
DecodeFromFile("c:\encoded.txt", "c:\roundtrip.txt")
End Sub 'Main
Public Shared Sub DecodeFromFile(ByVal inFileName As String, ByVal outFileName As String)
Dim myTransform As New FromBase64Transform(FromBase64TransformMode.IgnoreWhiteSpaces)
Dim myOutputBytes(myTransform.OutputBlockSize - 1) As Byte
'Open the input and output files.
Dim myInputFile As New FileStream(inFileName, FileMode.Open, FileAccess.Read)
Dim myOutputFile As New FileStream(outFileName, FileMode.Create, FileAccess.Write)
'Retrieve the file contents into a byte array.
Dim myInputBytes(myInputFile.Length - 1) As Byte
myInputFile.Read(myInputBytes, 0, myInputBytes.Length)
'Transform the data in chunks the size of InputBlockSize.
Dim i As Integer = 0
While myInputBytes.Length - i > 4 'myTransform.InputBlockSize
myTransform.TransformBlock(myInputBytes, i, 4, myOutputBytes, 0) 'myTransform.InputBlockSize
i += 4 'myTransform.InputBlockSize
myOutputFile.Write(myOutputBytes, 0, myTransform.OutputBlockSize)
End While
'Transform the final block of data.
myOutputBytes = myTransform.TransformFinalBlock(myInputBytes, i, myInputBytes.Length - i)
myOutputFile.Write(myOutputBytes, 0, myOutputBytes.Length)
'Free up any used resources.
myTransform.Clear()
myInputFile.Close()
myOutputFile.Close()
End Sub 'DecodeFromFile
End Class 'MyMainClass
End Namespace 'ToBase64Transform_Examples
[C#]
using System;
using System.IO;
using System.Security.Cryptography;
namespace ToBase64Transform_Examples
{
class MyMainClass
{
public static void Main()
{
//Insert your file names into this method call.
DecodeFromFile("c:\\encoded.txt", "c:\\roundtrip.txt");
}
public static void DecodeFromFile(string inFileName, string outFileName)
{
FromBase64Transform myTransform = new FromBase64Transform(FromBase64TransformMode.IgnoreWhiteSpaces);
byte[] myOutputBytes = new byte[myTransform.OutputBlockSize];
//Open the input and output files.
FileStream myInputFile = new FileStream(inFileName, FileMode.Open, FileAccess.Read);
FileStream myOutputFile = new FileStream(outFileName, FileMode.Create, FileAccess.Write);
//Retrieve the file contents into a byte array.
byte[] myInputBytes = new byte[myInputFile.Length];
myInputFile.Read(myInputBytes, 0, myInputBytes.Length);
//Transform the data in chunks the size of InputBlockSize.
int i = 0;
while(myInputBytes.Length - i > 4/*myTransform.InputBlockSize*/)
{
myTransform.TransformBlock(myInputBytes, i, 4/*myTransform.InputBlockSize*/, myOutputBytes, 0);
i += 4/*myTransform.InputBlockSize*/;
myOutputFile.Write(myOutputBytes, 0, myTransform.OutputBlockSize);
}
//Transform the final block of data.
myOutputBytes = myTransform.TransformFinalBlock(myInputBytes, i, myInputBytes.Length - i);
myOutputFile.Write(myOutputBytes, 0, myOutputBytes.Length);
//Free up any used resources.
myTransform.Clear();
myInputFile.Close();
myOutputFile.Close();
}
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::IO;
using namespace System::Security::Cryptography;
class MyMainClass
{
public:
static void DecodeFromFile(String *inFileName, String *outFileName)
{
FromBase64Transform * myTransform = new FromBase64Transform(FromBase64TransformMode::IgnoreWhiteSpaces);
Byte myOutputBytes __gc[] = new Byte __gc[myTransform->OutputBlockSize];
//Open the input and output files.
FileStream * myInputFile = new FileStream(inFileName, FileMode::Open, FileAccess::Read);
FileStream * myOutputFile = new FileStream(outFileName, FileMode::Create, FileAccess::Write);
//Retrieve the file contents into a Byte array.
Byte myInputBytes __gc[] = new Byte __gc[myInputFile->Length];
myInputFile->Read(myInputBytes, 0, myInputBytes->Length);
//Transform the data in chunks the size of InputBlockSize.
int i = 0;
while(myInputBytes->Length - i > 4/*myTransform->InputBlockSize*/)
{
myTransform->TransformBlock(myInputBytes, i, 4/*myTransform->InputBlockSize*/, myOutputBytes, 0);
i += 4/*myTransform->InputBlockSize*/;
myOutputFile->Write(myOutputBytes, 0, myTransform->OutputBlockSize);
}
//Transform the final block of data.
myOutputBytes = myTransform->TransformFinalBlock(myInputBytes, i, myInputBytes->Length - i);
myOutputFile->Write(myOutputBytes, 0, myOutputBytes->Length);
//Free up any used resources.
myTransform->Clear();
myInputFile->Close();
myOutputFile->Close();
}
};
int main()
{
MyMainClass * m = new MyMainClass();
//Insert your file names into this method call.
m->DecodeFromFile("c:\\encoded.txt", "c:\\roundtrip.txt");
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Security.Cryptography
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: Mscorlib (Mscorlib.dll 内)
参照
FromBase64Transform メンバ | System.Security.Cryptography 名前空間 | 暗号サービス