次の方法で共有


FromBase64Transform クラス

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 名前空間 | 暗号サービス