码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 常用的openssl命令


    一、使用openssl生成MD5哈希:
        

    echo -n "testdata" | openssl dgst -md5 -binary | openssl base64 -e -A

     

    二、使用openssl生成sha1哈希:
       

     echo -n "testdata" | openssl dgst -sha1 -binary | openssl base64 -e -A


        
    三、使用openssl生成SHA256哈希:
        

    echo -n "testdata" | openssl dgst -sha256 -binary | openssl base64 -e -A | sed 's/\+/-/g' | sed 's/\//_/g' | sed -E 's/=+$//'

        
        如果直接执行命令:

    echo -n "testdata" | openssl dgst -sha256 -binary | openssl base64 -e -A


         得到的结果是:gQ/y+yQqXe5CIPLLDmpRmJH7Z/L4KKbKtO+IlGM7H1A=, 由于/ + 和=在URL中都有特殊的含义,所以,当把它作为URL中的一部分时,容易使得URL的解析出问题,
        因此一般都会进行字符替换的操作,+替换成-,/替换成—_, =替换成空。使用sed,也就是:sed 's/\+/-/g' | sed 's/\//_/g' | sed -E 's/=+$//'
        没有替换的我们称之为标准的Base64,替换的结果称之为Base64URL。

    四、使用openssl生成HMAC:
        

    echo -n "testdata" | openssl dgst -sha256 -hmac '111111' -binary | openssl base64 -e -A | sed 's/\+/-/g' | sed 's/\//_/g' | sed -E 's/=+$//'

     

    五、openssl公约和私钥:
        生成私钥:
            

    openssl -out private.pem 2048


        根据私钥生成公钥:
            

    openssl rsa in private.pem -out public.pem -pubout  -outform PEM

        使用私钥签名:
            

    echo -n "testdata" | openssl dgst -sha256 -sign private.pem | openssl base64 -e -A | sed 's/\+/-/g' | sed 's/\//_/g' | sed -E 's/=+$//'


     

  • 相关阅读:
    东郊到家app小程序公众号软件开发预约同城服务系统成品源码部署
    postgis 2.5 pgr_fromAtoB
    Java岛屿数量(DFS)
    西瓜书-2.5偏差与方差
    7.1ASP.NET Core中的依赖注入
    java面试题(spring框架篇)(黑马 )
    Biotinyl Cystamine|CAS:128915-82-2|生物素半胱胺
    沙箱对抗之反沙箱技巧
    git 上拉下来的新项目web文件夹没有被idea管理,导致启动不了
    黑马JVM总结(十七)
  • 原文地址:https://blog.csdn.net/jimmyleeee/article/details/127775302
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号