Python Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Python Examples

Quick Start
Python Unicode
Python Byte Array
Python Certs
Python Email
Python Encryption
Python FTP
HTML-to-XML
Python HTTP
Python IMAP
Python MHT
Python MIME
Python RSA
Python S/MIME
Python Signatures
Python Socket
Python Spider
Python Tar
Python Upload
Python XML
Python XMP
Python Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

ARC4 Encryption (ARCFOUR)

Demonstrates simple ARC4 encryption to match some simple test vectors published by Wikipedia. ARC4 is a fast stream cipher supporting key lengths from 8 to 2048 bits (i.e. from 1 to 256 bytes). It is not a block cipher, so there is no padding, no modes, and no initialization vector.

Download Chilkat Python Library

import sys
import chilkat

crypt = chilkat.CkCrypt2()

success = crypt.UnlockComponent("Anything for 30-day trial")
if (success != True):
    print "Crypt component unlock failed"
    sys.exit()

#  Set the encryption algorithm to ARC4:
crypt.put_CryptAlgorithm("arc4")

#  We want the encrypted output to be a hex-encoded string.
crypt.put_EncodingMode("hex")

#  Encrypt some test vectors from Wikipedia:

#  The key length (in bits) is equal to the number of us-ascii
#  bytes in our key string * 8.

# ARC4( "Key", "Plaintext" ) == BBF316E8D940AF0AD3
crypt.put_KeyLength(24)
crypt.SetEncodedKey("Key","ascii")
cipherText = crypt.encryptStringENC("Plaintext")
print cipherText
plainText = crypt.decryptStringENC(cipherText)
print plainText

# ARC4( "Wiki", "pedia" ) == 1021BF0420
crypt.put_KeyLength(32)
crypt.SetEncodedKey("Wiki","ascii")
cipherText = crypt.encryptStringENC("pedia")
print cipherText
plainText = crypt.decryptStringENC(cipherText)
print plainText

# ARC4( "Secret", "Attack at dawn" ) == 45A01F645FC35B383552544B9BF5
crypt.put_KeyLength(48)
crypt.SetEncodedKey("Secret","ascii")
cipherText = crypt.encryptStringENC("Attack at dawn")
print cipherText
plainText = crypt.decryptStringENC(cipherText)
print plainText

#  Note: The call to SetEncodedKey serves to set the key
#  to the us-ascii bytes of the string.

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.