タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

暗号とrubyに関するakishin999のブックマーク (6)

  • 暗号化・複合化を行う ブロック暗号 - [Ruby + Ruby] ぺんたん info

    Rubyでブロック暗号を行うにはOpenSSL::Cipherを使用します。 DESやAESやBlowfishが使用可能です。 [参考記事] ブロック暗号とは [参考記事] PHPで暗号化・複合化を行う ブロック暗号 [参考記事] Javaで暗号化・複合化を行う ブロック暗号 [参考記事] Perlで暗号化・複合化を行う ブロック暗号 サンプルコード 使用できる暗号アルゴリズムの一覧 この暗号化方式はアルゴリズム規定のブロック長に分割して秘密鍵を用いて暗号化を行います。 規定のブロック長に分割する方式を暗号利用モード、ブロック長に満たないときの補完方法をパディング方式といいます。 暗号利用モードで分割するときに前の平文ブロックの結果を次の平文に使用しますが、この最初のブロックで使用される値がIV(初期化ベクトル)です。 まとめ 暗号化の流れ (1) ブロック長に満たない部分をパディング方式

  • Java で暗号化したデータを Ruby で復号しようとしたら大変だった件 - Candy

    blowfish で暗号化するからキーはこれね、と適当なことを言われてデータを渡された。 経緯はこれ http://d.hatena.ne.jp/download_takeshi/20100819/1282173492 と殆ど一緒。 padding 方式とか暗号化方式とか一切聞かなかったのも元記事と同様。全然 Ruby で正しく復号も手元で暗号化することも出来ない。 Q. そこで私はどうしたか。 A. Rjb を使いました。 Rjb を使うことで Ruby プログラマーJava のクラスを Ruby のクラスのように使うことが出来ます。とても便利。 Ruby でどうこうするというのは早晩諦めて(いろいろ調べるのめんどくさいし時間もなかったし Java の場合のリファレンス的なものは先方から貰えたので)、 Java のクラスを Rjb 経由で Ruby から使用することにしました。 Ru

    Java で暗号化したデータを Ruby で復号しようとしたら大変だった件 - Candy
  • Ruby スクリプトでデータを暗号化する方法 - WebOS Goodies

    日は、 Ruby の OpenSSL バインドを利用してデータを暗号化する方法をご紹介します。というのも最近、自宅サーバーにある各種データを Web 上のサービスに移動しようと画策していまして、その際にプライベートなデータは暗号化して保存したいのです。ほとんどの Web API は暗号化なしの HTTP で通信しますし、いくらパスワードで保護されているとはいえ、他所の HDD にプレーンな状態で保存するのは不安ですからね。 それ以外でもスクリプトで暗号化の処理をしたい場面はいろいろあると思います。そんなときは、ぜひ参考にしてください。 それでは、まずは暗号化の処理から。 OpenSSL はさまざまな暗号化アルゴリズムをサポートしていますが、ここではリファレンスでも推奨されている AES-256-CBC を使うことにします。ひとつの文字列(バイト列)を暗号化する関数は以下のようになります。

  • RUBY による トリプルDES - shohu33's diary

    仕事で暗号化にトリプルDESを使うことになったので、引用だが記載しておく。 引用元 http://www.ruby-lang.org/ja/man/?cmd=view;name=OpenSSL%3A%3ACipher%3A%3ACipher require 'openssl' include OpenSSL::Cipher # Triple DES # c1 = Cipher.new("DES-EDE3-CBC") c2 = DES.new(:EDE3, "CBC") pass = "open sesame!" data = "Hello world!" c1.pkcs5_keyivgen(pass) s1 = c1.encrypt.update(data) + c1.final c2.pkcs5_keyivgen(pass) s2 = c2.decrypt.update(s1) + c2

    RUBY による トリプルDES - shohu33's diary
  • Rubyで共通鍵暗号(openssl)を使う - へびにっき

    require 'openssl' def encrypt(cipher, msg, pass) salt = OpenSSL::Random.random_bytes(8) enc = OpenSSL::Cipher::Cipher.new(cipher) enc.encrypt enc.pkcs5_keyivgen(pass, salt) return enc.update(msg) + enc.final, salt end def decrypt(cipher, crypt_msg, pass, salt) dec = OpenSSL::Cipher::Cipher.new(cipher) dec.decrypt dec.pkcs5_keyivgen(pass, salt) dec.update(crypt_msg) + dec.final end cipher = 'aes-2

  • We retire raa.ruby-lang.org

  • 1