NCipher
文字列のUnicodeエスケープシーケンスを利用した簡易的な暗号です
Installation
Add this line to your application's Gemfile:
gem 'n_cipher'
And then execute:
$ bundle
Or install it yourself as:
$ gem install n_cipher
Usage
Library
require 'n_cipher'
NCipher.encode('にゃんぱす', seed: 'おうどん', delimiter: 'ひげ')
#=> "んおおうどどんひげんおおどおおんひげんおおどうおんひげんおおうんおうひげんおおううどうひげ"
NCipher.decode(
'んおおうどどんひげんおおどおおんひげんおおどうおんひげんおおうんおうひげんおおううどうひげ',
seed: 'おうどん', delimiter: 'ひげ')
#=> "にゃんぱす"
# いちいちオプション指定するのが面倒なとき用
NCipher.configure do |config|
config.seed = 'おうどん'
config.delimiter = 'ひげ'
end
NCipher.encode 'にゃんぱす'
#=> "んおおうどどんひげんおおどおおんひげんおおどうおんひげんおおうんおうひげんおおううどうひげ"
NCipher.decode 'んおおうどどんひげんおおどおおんひげんおおどうおんひげんおおうんおうひげんおおううどうひげ'
#=> "にゃんぱす"
Command
シード値と区切り文字は以下の環境変数でも設定できます
NCIPHER_SEED
: シード値NCIPHER_DELIMITER
: 区切り文字
$ # encode
$ n_cipher encode 'にゃんぱす'
ぱすすにすに〜ぱすすゃぱす〜ぱすすんんに〜ぱすすゃにゃ〜ぱすすににん〜
$ n_cipher encode --seed 'おうどん' --delimiter 'ひげ' 'にゃんぱす'
んおおうどどんひげんおおどおおんひげんおおどうおんひげんおおうんおうひげんおおううどうひげ
$ # decode
$ n_cipher decode --seed 'おうどん' --delimiter 'ひげ' 'んおおうどどんひげんおおどおおんひげんおおどうおんひげんおおうんおうひげんおおううどうひげ'
にゃんぱす
$ # support STDIN
$ renge | n_cipher encode
んんぱんにぱに〜ゃぱんぱゃゃん〜ぱすすにぱゃ〜ぱすすゃにぱ〜ぱすすゃすゃ〜すににゃぱに〜ゃんゃんぱゃぱ〜ゃぱゃんんぱぱ〜ぱすすににに〜ぱすすにゃぱ〜ぱすすんんに〜ぱすすにぱす〜すにすんんんゃ〜