码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 国密SM2加解密 for delphi xe 11.1


    SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。

    SM2算法和 RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家 商用密码体系中被用来替换RSA算法。

    今天有时间测试了一下Delphi 开源 CnPack 组件包!加密和解密测试成功!有兴趣的朋友可以自己测试一下。我测试了一下,和在线的加解密网站通用。

    签名文本未测试成功,DEMO是签名文件的,有成功的朋友麻烦告诉告诉一下。

     以下是签名代码,未成功,有高手指点一下!

    1. procedure TfrmMain.btnSM2SignClick(Sender: TObject);
    2. var
    3. T: AnsiString;
    4. SM2: TCnSM2;
    5. PrivateKey: TCnEccPrivateKey;
    6. PublicKey: TCnEccPublicKey;
    7. EnStream: TMemoryStream;
    8. SignRes: TCnSM2Signature;
    9. begin
    10. if not CheckPublicKeyStr(edtSM2PublicKey) or not CheckPrivateKeyStr(edtSM2PrivateKey) then
    11. Exit;
    12. // if not FileExists(edtSM2FileSign.Text) then
    13. // Exit;
    14. SM2 := TCnSM2.Create(ctSM2);
    15. PrivateKey := TCnEccPrivateKey.Create;
    16. PrivateKey.SetHex(edtSM2PrivateKey.Text);
    17. PublicKey := TCnEccPublicKey.Create;
    18. PublicKey.SetHex(edtSM2PublicKey.Text);
    19. EnStream := TMemoryStream.Create;
    20. //FileStream.LoadFromFile(edtSM2FileSign.Text);
    21. T := AnsiString('123456');
    22. SignRes := TCnSM2Signature.Create;
    23. if CnSM2SignData('123456', EnStream.Memory, Length(T), SignRes,
    24. PrivateKey, PublicKey, SM2) then
    25. begin
    26. mmoSM2Decrypt.Lines.Text := SignRes.ToHex;
    27. end
    28. else
    29. ShowMessage('Sign File Failed.');
    30. SignRes.Free;
    31. EnStream.Free;
    32. PublicKey.Free;
    33. PrivateKey.Free;
    34. SM2.Free;
    35. end;

  • 相关阅读:
    spring cloud kubernetes踩坑:Null key for a Map not allowed in JSON
    Github霸榜一周,竟是阿里技术官的微服务分布式项目实战笔记总结
    Hexagon_V65_Programmers_Reference_Manual(30)
    Ollydbg 调试软件常用方法之断点
    JAVA毕业设计099—基于Java+Springboot+Vue的在线智慧教育考试系统(源码+数据库)
    做一个小记录
    【Android】相对布局(RelativeLayout)最全解析
    函数式编程初探
    c++图论
    构建全真互联数字地图底座 腾讯地图产业版WeMap重磅升级
  • 原文地址:https://blog.csdn.net/redhat588/article/details/126316492
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号