gpt4 book ai didi

mysql - 如何在 Ruby on Rails 中验证后加密数据?

转载 作者:行者123 更新时间:2023-11-29 12:35:02 25 4
gpt4 key购买 nike

我正在使用设备进行身份验证、注册。现在我想将emailId以加密格式保存在MySQL中。所以我使用 gem 'aescrypt'。

我的 Controller :

 def create
@dashboard_user = DashboardUser.new(dashboard_user_params)
@dashboard_user.created_by=current_dashboard_user.username
@dashboard_user.company_id=current_dashboard_user.company_id
active_ind = ""
email = @dashboard_user.email

if params["active"] == nil then
active_ind = "0"
else
active_ind = "1"
end

@dashboard_user.active = active_ind
@dashboard_user.email= AESCrypt.encrypt(email, "password")

respond_to do |format|
if @dashboard_user.save
format.html { flash[:notice] = 'User successfully Created.' and redirect_to action: "index"}
else
@dashboard_user.email = email
format.html { render :new }
end
end
end

当我尝试保存用户时,它抛出电子邮件无效。我删除了模型中电子邮件的验证。即使存在同样的错误。这是什么问题呢?验证后是否有办法对数据进行加密?

提前致谢。

最佳答案

如何验证电子邮件?您可以在针对(例如)正则表达式进行验证之前使用自定义方法对其进行解密。或者,您可以使用 ActiveRecord Callbacks 。对于您的情况,after_validation 可能很有用:)

after_validation(on: :create) do
self.email= AESCrypt.encrypt(email, "password")
end

关于mysql - 如何在 Ruby on Rails 中验证后加密数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26907788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com