密码键盘介绍三:数据加解密

如果要加解密数据,需要确定3个内容: 使用的密钥(明文)、采用的算法和待加解密数据

数据加密问题:

假设现在有如下信息:

  • 本地主密钥(LMK)(明文): 3031323334353637
  • 终端主密钥(TMK)(密文): 3837363534333231
  • 工作密钥 PinKey(密文): 4142434445464748
  • 待加密数据: 4A4B4C4D4E4F5051
  • 算法:DES

希望使用PinKey来加密数据,该如何做呢?

问题分析:
  1. 要用PinKey来加解密数据,我们需要得到PinKey(明文)
  2. 在基础知识部分,我们了解到PinKey(明文)是可以通过终端主密钥(TMK)解密来得到的。我们只要有终端主密钥(TMK)的明文,就可以解密PinKey。
  3. 同样终端主密钥(TMK)的明文可以通过本地主密钥(LMK)的明文解密得到。
  4. 这样,我们只要有本地主密钥(LMK)的明文就可以解密PinKey了,显然问题中已经提供了本地主密钥(LMK)的明文信息。
加密步骤:

按照我们前面的分析结果,来实施加密步骤:

  1. 使用本地主密钥(LMK)对终端主密钥(TMK)解密(DES算法):
    本地主密钥(LMK)(明文): 3031323334353637
    终端主密钥(TMK)(密文): 3837363534333231
    终端主密钥(TMK)(明文): 81E8F56701EEF115

  2. 使用终端主密钥(TMK)(明文)对PinKey(密文)解密(DES算法):
    终端主密钥(TMK)(明文): 81E8F56701EEF115
    PinKey(密文): 4142434445464748
    PinKey(明文): 623F1648EFE60C80

  3. DES算法,使用PinKey(明文)对数据加密
    PinKey(明文): 623F1648EFE60C80
    待加密数据: 4A4B4C4D4E4F5051
    加密结果: 371C20E09D7172F7

这样我们就得到了加密结果:371C20E09D7172F7

数据解密问题:

假设现在有如下信息:

  • PinKey(明文): 623F1648EFE60C80
  • 待解密数据: 371C20E09D7172F7
  • 算法:DES

希望使用PinKey来加密数据,该如何做呢?

  1. 用DES算法,使用PinKey(明文)对数据解密
    PinKey(明文): 623F1648EFE60C80
    待解密数据: 371C20E09D7172F7
    解密结果: 4A4B4C4D4E4F5051

这样我们就得到了解密结果:4A4B4C4D4E4F5051

特别说明:
  1. 为了保证安全:通常本地主密钥(LMK)(明文)是银行工作人员手工通过密码键盘输入的,其他人是看不到这个本地主密钥(LMK)(明文)。只有密码键盘里面保存了本地主密钥(LMK)(明文)信息。
    终端主密钥(TMK)和PinKey、MacKey等等都是密文方式传送的。(通常每天会更新)
  2. 这样这个密码键盘可以通过本地主密钥(LMK)(明文)来解密终端主密钥(TMK)(密文)、Pinkey(密文)和Mackey(密文),将解密后的明文信息保存在密码键盘中。
  3. 密码键盘就可以使用PinKey(明文)和MacKey(明文)来进行数据的加解密等运算。
    而外部传输的都是Key都是密文形式,保障了安全性。

转载于:https://www.cnblogs.com/peerhuo/p/5620767.html

密码键盘介绍三:数据加解密相关推荐

  1. 《ASP.NET Core 6框架揭秘》实例演示[19]:数据加解密与哈希

    数据保护(Data Protection)框架旨在解决数据在传输与持久化存储过程中的一致性(Integrity)和机密性(confidentiality)问题,前者用于检验接收到的数据是否经过篡改,后 ...

  2. STM32F1做RSA,AES数据加解密,MD5信息摘要处理

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_31878855/article/ ...

  3. 数据安全之MySQL数据加解密的实现方案

    在我们日常的业务需求中,经常会遇到需要对存储的用户敏感数据进行加密处理的场景,如用户的身份信息.住址.身份证号等等,本文我们就讨论下,业务系统(后端)如何实现数据存储(基于MySQL)的加解密功能. ...

  4. SpringBoot 优雅地对接口进行数据加解密

    我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华.如果小伙伴们觉得不错就一键三连吧~ 声明: 原作者:掘金:https://juejin.cn/user/3650034336532824 原文 ...

  5. 护网必备技能:Spring Boot 接口数据加解密 功能实现

    护网必备技能:Spring Boot 接口数据加解密 功能实现 文章目录 护网必备技能:Spring Boot 接口数据加解密 功能实现 1. 尽量少改动,不影响之前的业务逻辑: 2. 考虑到时间紧迫 ...

  6. 使用拦截器进行数据加解密

    文章目录 使用拦截器进行数据加解密 1. 加解密工具 3. 加解密字段注解 3.1 加密注解 3.2 解密注解 4. 封装加解密工具 5. 拦截器 6. 不同框架配置说明 6.1 springboot ...

  7. T-SQL问题解决集锦——数据加解密

    问题一:如何为数据进行加密与解密,避免使用者窃取机密数据? 对于一些敏感数据,如密码.卡号,一般不能使用正常数值来存储.否则会有安全隐患.以往的加密解密都有前端应用程序来辅助完成.而数据库一般只能加密 ...

  8. Spring Boot Post接口数据加解密

    概述 今天这篇文章聊一聊接口安全问题,涉及到接口的加密.解密. 接口数据加解密流程图 涉及客户端和服务端的整体改造,可以在接口统一加 /secret/ 前缀来区分. 代码Demo 用户类型: @Dat ...

  9. Popular MVC框架请求响应数据加解密@Decrypt和@Encrypt的使用示例

    简介 此项目用于演示popularmvc如何提供统一全自动化的API隐私数据保护,并且可以做到业务无感和灵活指定数据加解密算法. 请求数据加密使用@Decrypt注解,响应信息加密使用@Encrypt ...

  10. 数据加解密时Base64异常:Illegal base64 character 3f

    现象 用base64工具类对中文进行处理时出现异常,在数据加解密场景中经常使用 java.lang.IllegalArgumentException: Illegal base64 character ...

最新文章

  1. spark读取hdfs路径下的数据_到底什么是数据湖
  2. php获取标准输入输出,shell--标准输入输出(readamp;echo)
  3. java 并发 面试题_阿里面试官总结10个经典技术题:Java多线程与并发面试题
  4. linux 释放进程res_linux内存查看及释放
  5. 计算机翻译字串符,字符的计算机处理和显示 外文翻译.doc
  6. 网站攻击软件_佳能遭严重勒索软件攻击,10TB的数据被窃取,大量服务宕机
  7. oralce EM企业管理器
  8. c语言对字符串逆序,【C语言】 字符串逆序
  9. WEB版一次选择多个文件进行批量上传(Plupload)的解决方案
  10. android 公式编辑器,公式编辑器
  11. 深度时空3D卷积神经网络用于交通预测(文末附数据链接)
  12. (XWZ)的python学习笔记Ⅰ
  13. Tourist Behaviour Themes and Conceptual Schemes--Chapter 1 Studying Tourist Behaviour
  14. 华硕fl8000u是什么型号_华硕FL8000UN值得买吗?华硕FL8000UN笔记本全面深度评测+拆解图...
  15. python根据时间序列画折线图_Python如何根据时间序列数据作图
  16. vue v-if 判断某个元素满足多个条件的写法
  17. 小学计算机社团活动总结,小学科技社团活动总结
  18. 太强了!Java毕业设计分享—基于Java开发的毕业设计实战项目(含源码+论文)
  19. python编游戏_python编的著名游戏
  20. python删除文本末尾所有空行

热门文章

  1. java参数化查询_【转】参数化查询为什么能够防止SQL注入
  2. java bigdecimal语法_Java Scanner hasNextBigDecimal()方法
  3. python数值运算函数代码_Python如何计算列表中所有数字的乘积?(代码示例)
  4. React Native之原理浅析, iOS原理分析与实践解析、Android原理分析与实践解析
  5. 3d安卓环境搭建_RoboCup 仿真3D简介及环境搭建
  6. 通过运算符重载实现复数加减
  7. 邻接矩阵(图的存储)
  8. 努力在html中适配图片尝试失败
  9. ServletRequest--从html页面获取信息
  10. 机器学习中性能评估指标中的准确率(Accuracy)、召回率(Recall=TPR)、精确率(Precision)、误报率(FPR)、漏报率(FNR)及其关系