当前位置: 首页 > news >正文

[ruby on rails]MD5、SHA1、SHA256、Base64、aes-128-cbc、aes-256-ecb

md5

puts Digest::MD5.hexdigest('admin') 

sha1

require 'digest/sha1'  
puts Digest::SHA1.hexdigest('admin')

base64

require 'base64'  
code = Base64.encode64('admin')  
source = Base64.decode64(code)

aes-128-cbc

# base64 解密数据
session_key = Base64.decode64(session_key)
iv = Base64.decode64(iv)
encrypted_data = Base64.decode64(encrypted_data)
# aes-128-cbc算法解出密文
cipher = OpenSSL::Cipher.new('aes-128-cbc')
cipher.decrypt
cipher.key = session_key
cipher.iv = iv
decrypted = JSON.parse(cipher.update(encrypted_data) + cipher.final)

aes-256-ecb

decode_info = Base64.decode64(req_info)
# aes-256-ecb算法解出密文
cipher = OpenSSL::Cipher.new('aes-256-ecb')
cipher.decrypt
cipher.key = Digest::MD5.hexdigest(::WxPay.key)
cipher.update(decode_info) + cipher.final

AES-256-CBC

    def self.encrypt(data, iv, key)cipher = OpenSSL::Cipher::Cipher.new("AES-256-CBC").encryptnew_iv = cipher.iv = Base64.decode64(iv)new_key =  cipher.key = Base64.decode64(key)cipher.update(data) + cipher.finalenddef self.decrypt(encrypted_data, iv, key)decipher = OpenSSL::Cipher::Cipher.new("AES-256-CBC").decryptdecipher.iv = Base64.decode64(iv)decipher.key = Base64.decode64(key)decipher.update(encrypted_data) + decipher.finalend

MD5、SHA1、SHA256有哪些区别

相同点:

  • 都是密码散列函数,加密不可逆;

  • 都可以实现对任何长度对象加密,都不能防止碰撞;

不同点:

  • 1、校验值的长度不同,MD5校验位的长度是16个字节(128位);SHA1是20个字节(160位);SHA256是32个字节(256位)。

  • 2、运行速度不同,SHA256的运行速度最慢,然后是SHA1,最后是MD5。

MD5、SHA1、SHA256安全性如何?

在安全性方面,SHA256的安全性最高,然后是SHA1,最后是MD5。虽然SHA256的安全性比较高,但是耗时要比其他两种多很多。

http://www.lryc.cn/news/4158.html

相关文章:

  • 《NFL星计划》:拉斯维加斯突袭者·橄榄1号位
  • 韩顺平Linux基础学习(1)
  • Rust学习入门--【6】Rust 基础语法
  • LINUX提权入门手册
  • MSI_MSI-X中断之源码分析
  • Docker--consul
  • ESP-01S使用AT指令连接阿里云
  • 【Kafka】【三】安装Kafka服务器
  • 关于适配器模式,我遗漏了什么
  • SQL Serve 日志体系结构
  • 【C++1】函数重载,类和对象,引用,string类,vector容器,类继承和多态,/socket,进程信号,public,ooci
  • asio网络编程 tcp、udp、rpc
  • 双目测距------双目相机V1.0,将双目相机采集到任意一点的深度数据进行串口传输(带源码)
  • jetson nano(ubuntu)安装Cmake
  • 图的基本介绍和表示方式
  • 本周大新闻|传微软解散工业元宇宙团队,MIT研发垂直堆叠全彩Micro LED
  • SpringMVC:拦截器(12)
  • 计算机网络3:HTTP1.0和HTTP1.1的区别
  • Urho3D 编辑器说明
  • C++类基础(十一)
  • Windows安装系列:SVN Server服务
  • 快速傅里叶算法(FFT)快在哪里?
  • 利用Markdown写学术论文资料汇总贴
  • MySQL 高级查询
  • JavaSE学习day4_01 循环for,while,do...while
  • C/C++中的static关键字
  • 67 自注意力【动手学深度学习v2】
  • 电子学会2022年12月青少年软件编程(图形化)等级考试试卷(二级)答案解析
  • 关于链表中插入结点的操作……
  • 【项目精选】百货中心供应链管理系统