TripleDES クラスとは? わかりやすく解説

TripleDES クラス

すべての TripleDES実装派生元となる TDES (Triple Data Encryption Standard) アルゴリズム基本クラス表します

名前空間: System.Security.Cryptography
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public MustInherit Class
 TripleDES
    Inherits SymmetricAlgorithm
[ComVisibleAttribute(true)] 
public abstract class TripleDES : SymmetricAlgorithm
[ComVisibleAttribute(true)] 
public ref class TripleDES abstract : public
 SymmetricAlgorithm
/** @attribute ComVisibleAttribute(true) */ 
public abstract class TripleDES extends SymmetricAlgorithm
ComVisibleAttribute(true) 
public abstract class TripleDES extends
 SymmetricAlgorithm
解説解説
使用例使用例

指定したキー (Key) と初期化ベクタ (IV) で TripleDESCryptoServiceProvider を使用してinName指定したファイル暗号化するメソッド次のコード例示します。このメソッドは、暗号化結果outName指定したファイル出力します

Private Shared Sub EncryptData(inName
 As String, outName As
 String, _
   tdesKey() As Byte, tdesIV() As
 Byte)
   
    'Create the file streams to handle the input and output files.
    Dim fin As New FileStream(inName,
 FileMode.Open, FileAccess.Read)
    Dim fout As New FileStream(outName,
 FileMode.OpenOrCreate, _
       FileAccess.Write)
    fout.SetLength(0)
        
    'Create variables to help with read and write.
    Dim bin(100) As Byte
 'This is intermediate storage for the encryption.
    Dim rdlen As Long =
 0 'This is the total number of bytes written.
    Dim totlen As Long =
 fin.Length 'This is the total length of the input file.
    Dim len As Integer 'This
 is the number of bytes to be written at a time.
    Dim tdes As New TripleDESCryptoServiceProvider()
    Dim encStream As New
 CryptoStream(fout, _
       tdes.CreateEncryptor(tdesKey, tdesIV), CryptoStreamMode.Write)
        
    Console.WriteLine("Encrypting...")
        
    'Read from the input file, then encrypt and write to the output
 file.
    While rdlen < totlen
        len = fin.Read(bin, 0, 100)
        encStream.Write(bin, 0, len)
        rdlen = rdlen + len
        Console.WriteLine("{0} bytes processed", rdlen)
    End While
        
    encStream.Close()
End Sub
private static void EncryptData(String
 inName, String outName, byte[] tdesKey, byte[] tdesIV)
{    
    //Create the file streams to handle the input and output files.
    FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
    FileStream fout = new FileStream(outName, FileMode.OpenOrCreate
,
 FileAccess.Write);
    fout.SetLength(0);
      
    //Create variables to help with read and write.
    byte[] bin = new byte[100]; //This is intermediate
 storage for the encryption.
    long rdlen = 0;              //This is the total number of bytes
 written.
    long totlen = fin.Length;    //This is the total length of the input
 file.
    int len;                     //This is the number
 of bytes to be written at a time.

    TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
          
    CryptoStream encStream = new CryptoStream(fout, tdes.CreateEncryptor(tdesKey,
 tdesIV), CryptoStreamMode.Write);
               
    Console.WriteLine("Encrypting...");

    //Read from the input file, then encrypt and write to the output
 file.
    while(rdlen < totlen)
    {
        len = fin.Read(bin, 0, 100);
        encStream.Write(bin, 0, len);
        rdlen = rdlen + len;
        Console.WriteLine("{0} bytes processed", rdlen);
    }

    encStream.Close();                     
}
void EncryptData( String^ inName, String^ outName, array<Byte>^tdesKey,
 array<Byte>^tdesIV )
{
   
   //Create the file streams to handle the input and output files.
   FileStream^ fin = gcnew FileStream( inName,FileMode::Open,FileAccess::Read );
   FileStream^ fout = gcnew FileStream( outName,FileMode::OpenOrCreate,FileAccess::Write
 );
   fout->SetLength( 0 );
   
   //Create variables to help with read and write.
   array<Byte>^bin = gcnew array<Byte>(100);
   long rdlen = 0; //This is the total number of bytes written.

   long totlen = (long)fin->Length; //This is the total length of
 the input file.

   int len; //This is the number of bytes to be written
 at a time.

   TripleDESCryptoServiceProvider^ tdes = gcnew TripleDESCryptoServiceProvider;
   CryptoStream^ encStream = gcnew CryptoStream( fout,tdes->CreateEncryptor( tdesKey,
 tdesIV ),CryptoStreamMode::Write );
   Console::WriteLine( "Encrypting..." );
   
   //Read from the input file, then encrypt and write to the output
 file.
   while ( rdlen < totlen )
   {
      len = fin->Read( bin, 0, 100 );
      encStream->Write( bin, 0, len );
      rdlen = rdlen + len;
      Console::WriteLine( "{0} bytes processed", rdlen );
   }

   encStream->Close();
}

private static void EncryptData(String
 inName, String outName, 
    ubyte tdesKey[],ubyte tdesIV[])
{
    //Create the file streams to handle the input and output files.
    FileStream fin = new FileStream(inName, FileMode.Open,
        FileAccess.Read);
    FileStream fout = new FileStream(outName, FileMode.OpenOrCreate
,
        FileAccess.Write);
    fout.SetLength(0);

    //Create variables to help with read and write.
    ubyte bin[] = new ubyte[100];//This is intermediate
 storage for the 
                                 //encryption.
    long rdlen = 0; //This is the total number of bytes written.
    long totlen = fin.get_Length(); //This is the total length 
                                    //of the input file.
    int len; //This is the number of bytes to be written
 at a time.

    TripleDESCryptoServiceProvider tdes =
            new TripleDESCryptoServiceProvider();
    CryptoStream encStream = new CryptoStream(fout,
        tdes.CreateEncryptor(tdesKey, tdesIV), CryptoStreamMode.Write);
    Console.WriteLine("Encrypting...");

    //Read from the input file, then encrypt and write to the output
 file.
    while ((rdlen < totlen)) {
        len = fin.Read(bin, 0, 100);
        encStream.Write(bin, 0, len);
        rdlen = rdlen + len;
        Console.WriteLine("{0} bytes processed",
            System.Convert.ToString(rdlen));
    }
    encStream.Close();
} //EncryptData

復号化も同じ方法で処理できます。ただし、その場合は CreateEncryptor の代わりに CreateDecryptor を使用します復号化では、ファイル暗号化使用したものと同じキー (Key) と初期化ベクタ (IV) を使用する必要があります

継承階層継承階層
System.Object
   System.Security.Cryptography.SymmetricAlgorithm
    System.Security.Cryptography.TripleDES
       System.Security.Cryptography.TripleDESCryptoServiceProvider
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からTripleDES クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からTripleDES クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からTripleDES クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「TripleDES クラス」の関連用語

TripleDES クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



TripleDES クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS