NCipher

Gem Required Ruby Travis branch Coveralls branch Code Climate Docunment Inline docs

文字列の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
んんぱんにぱに〜ゃぱんぱゃゃん〜ぱすすにぱゃ〜ぱすすゃにぱ〜ぱすすゃすゃ〜すににゃぱに〜ゃんゃんぱゃぱ〜ゃぱゃんんぱぱ〜ぱすすににに〜ぱすすにゃぱ〜ぱすすんんに〜ぱすすにぱす〜すにすんんんゃ〜