宝石创建公钥和私钥?

时间:2011-05-08 12:20:57

标签: ruby-on-rails encryption

我正在搜索一个Gem,它将从给定的字符串创建私钥和公钥,然后可以存储在数据库中。任何人都可以推荐这样的宝石吗?

1 个答案:

答案 0 :(得分:2)

Devise允许通过token_authenticable来获取令牌,但是我没有找到一个这样做的宝石,所以我的模型通常看起来像:

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :token_authenticatable, :confirmable
  before_save :ensure_authentication_token
  before_save :create_secret_token

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me


  private

  def create_secret_token
    self.secret_token = ActiveSupport::SecureRandom.base64(20).tr('+/=', '-_ ').strip.delete("\n") unless self.secret_token
  end
end

secret_token生成器行确保替换+ / =字符,然后删除空格。使用RESTful API时,“+ / =”字符很难处理:

ActiveSupport::SecureRandom.base64(20).tr('+/=', '-_ ').strip.delete("\n")