Apache subversion Wiki wrote on Thu, Mar 29, 2012 at 14:07:49 -0000: > + PREFIX_LEN=4 > + > + def encrypt(PLAINTEXT, MP): > + PREFIX = generate_random(PREFIX_LEN) > + PREFIXED_PLAINTEXT_LEN = PREFIX_LEN + len(PLAINTEXT) > + if PREFIXED_PLAINTEXT_LEN % 16: > + PAD = NUL . generate_random(15 - PREFIXED_PLAINTEXT_LEN)
generate_random(15 - (PREFIXED_PLAINTEXT_LEN % 16)) > + else: > + PAD = '' > + SALT = generate_random(8) > + IV = generate_random(16) > + CIPHERTEXT = aes256cbc_encrypt(PREFIX . PLAINTEXT . PAD, IV, pbkdf2(MP, > SALT)) > + return CIPHERTEXT, IV, SALT # these need to be stored