capicom.dllが必要でこのファイルがない環境は、マイクロソフトのサイトから
ダウンロードする必要がある。
' CAPICOM's constants.
Const CAPICOM_ENCRYPTION_ALGORITHM_RC2 = 0
Const CAPICOM_ENCRYPTION_ALGORITHM_RC4 = 1
Const CAPICOM_ENCRYPTION_ALGORITHM_DES = 2
Const CAPICOM_ENCRYPTION_ALGORITHM_3DES = 3
Const CAPICOM_ENCRYPTION_ALGORITHM_AES = 4 'Windows2000では何故か使えない
Const CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM = 0
Const CAPICOM_ENCRYPTION_KEY_LENGTH_40_BITS = 1
Const CAPICOM_ENCRYPTION_KEY_LENGTH_56_BITS = 2
Const CAPICOM_ENCRYPTION_KEY_LENGTH_128_BITS = 3
Const CAPICOM_ENCRYPTION_KEY_LENGTH_192_BITS = 4
Const CAPICOM_ENCRYPTION_KEY_LENGTH_256_BITS = 5
Sub Encrypt()
Dim Crypt As Object
Set Crypt = CreateObject("CAPICOM.EncryptedData")
Crypt.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_3DES
Crypt.Algorithm.KeyLength = CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM
Crypt.SetSecret "パスワード"
Crypt.Content = InputBox("文字を入力してください")
Debug.Print Crypt.Encrypt
End Sub
Sub Decrypt()
Dim Crypt As Object
Set Crypt = CreateObject("CAPICOM.EncryptedData")
Crypt.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_3DES
Crypt.Algorithm.KeyLength = CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM
Crypt.SetSecret "パスワード"
Crypt.Decrypt InputBox("暗号化された文字を入力してください")
Debug.Print Crypt.Content
End Sub