码农知识堂 - 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;

  • 相关阅读:
    【0236】聊一聊PG内核中的命令标签(Command Tags、CommandTag、tag_behavior)
    3、Android 活动Activity(2)(显式Intent和隐式Intent)
    避雷器雷击计数器检验
    设计模式-单例模式 (Singleton)
    Java 获得任意一个时间的 下一天的时间
    软件改为开机自启动
    Flask连接数据库
    C# 集合(一) —— Array类
    C# 8.0 添加和增强的功能【基础篇】
    Python时间模块之time模块
  • 原文地址:https://blog.csdn.net/redhat588/article/details/126316492
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号