A Ruby-based implementation of a Cisco Type-7 Password Encryptor/Decryptor
- Written in Ruby - First and only Cisco Type-7 implementation in Ruby that I know of.
- Minimal/No Dependancies - Uses native Ruby to do it's work, no heavy dependancies.
- Not Just a Script - Implementation is portable for use in another project or for automation of tasks.
- Simple - It is a small project so the interfaces are simple and easy to use.
- Encrypt & Decrypt - Supports both encryption (with seed control) and decryption operations.
To install, type
gem install c7decrypt
To use, just require
Get an instance of C7Decrypt
>> cd = C7Decrypt.new() => #<C7Decrypt:0x11b1700>
Decrypt A Single Encrypted Passwords
Decrypt Array of Encrypted Passwords
>> encrypted_hashes = ["060506324F41", "0822455D0A16"]
=> ["060506324F41", "0822455D0A16"]
=> ["cisco", "cisco"]
Decrypt Encrypted Passwords from Config
=> ["cisco", "Password1", "admin"]
Encrypt A Single Plaintext Password
Encrypt A Single Plaintext Password w/ Explicit Seed
>> cd.encrypt("cisco", 6)
Encrypt An Array of Plaintext Passwords
>> passwords = ["cisco", "password"]
=> ["cisco", "password"]
=> ["02050D480809", "021605481811003348"]
This project is integrated with travis-ci and is regularly tested to work with the following rubies:
- 1.9.1 - Tested outside of Travis-CI
- 1.8.6 - Tested outside of Travis-CI
To checkout the current build status for these rubies, click here.
If you are interested in contributing to this project, please see CONTRIBUTING.md
The decryption code in this project was inspired by Daren Matthew's cdecrypt.pl tool, which performs Cisco Type-7 decrypt operations in Perl.
Daren's tool can be found here in a blog post he wrote a while back:
The encryption code in this project was inspired by a blog post at Moonie.com, which performs Cisco Type-7 decryptions and encryption operations in Perl.
The moonie.com blog post, which contains the original perl source can be found here: