Rubyのソースコードを暗号化する方法を現役エンジニアが解説【初心者向け】

初心者向けにRubyのソースコードを暗号化する方法を現役エンジニアが解説しています。今回はpitというアカウント管理ライブラリとyamlファイルを使ってソースコードの一部を置き換える方法についてみていきたいと思います。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyのソースコードを暗号化する方法について解説します。Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

ソースコードを暗号化する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

Rubyのソースコードを暗号化するには

ソースコードの中に生のアカウント名やパスワードを記述するのは、第三者から悪用される危険がありセキュリティ上問題です。

そこで今回はpitを使用してパスワードやトークンをyamlファイルに記載して、直接書かなくても済むやり方を解説します。

pitで暗号化する方法

まずは、pitをターミナルで以下のコマンドを使用してインストールします。

gem install pit

 

そしてpitを使用するファイルの中で

require 'pit'

 

を書くことで、pitを使用できる様にします。pitは、setメソッドでyamlファイルの書き込みを行います。~/.pit/default.yamlに保存されます。また、データの呼び出しをする際は、getメソッドを使用します。hashで取得できます。

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは、実際にpitを使用して、情報の書き込みと呼び出しを行ってみましょう。

# pitを読み込みます
require 'pit'

# pitのset
Pit.set(
    # getする際にキーとなる名前をセットする
    "twitter.com",
    # data以下でここの値をセット
    data:{
        #keyをname,valueを"username"でセット
        name: "username",
        pass:"password",
        }
     )

# getで上でセットした値を取得。返り値はhashになっている
twitter_account =  Pit.get("twitter.com")

#usernameが出力
puts twitter_account[:name]
# passwordが出力
puts twitter_account[:pass]

 

実行結果は以下の通りです。

username
password

また、yamlファイルが書き込まれているので
ターミナルで以下のコマンドを実行することでも確認できます。

 

 cat ~/.pit/default.yaml

 

実行結果は以下の通りです。

twitter.com:
  :name: username
  :pass: password

 

yamlファイルは暗号化されていないので、このファイルがユーザーからアクセスできない様に注意しましょう。

以上で、解説を終わります。

 

筆者プロフィール

メンター金成さん

フリーランスエンジニア。
Railsの案件を中心に、様々なアプリケーションを開発してます。

使える言語は、ruby python go 。最近はgoにハマってます。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも最短4週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。