V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tercel36524
V2EX  ›  程序员

有没有人用过 lua rsa 加解密吗?

  •  
  •   tercel36524 · 2023-04-04 20:21:47 +08:00 · 1786 次点击
    这是一个创建于 585 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有没有人用过 lua rsa 私钥加密公钥解密的库呢?
    用过的,给个说明,谢谢了
    13 条回复    2023-04-05 23:43:25 +08:00
    xabcstack
        1
    xabcstack  
       2023-04-04 20:39:30 +08:00
    好的,以下是一个简单的使用 "lua-crypt" 库进行 RSA 加解密的例子:

    ```lua
    local crypt = require "crypt"

    -- 生成公私钥对
    local private_key = crypt.RSA.generate_key(1024)
    local public_key = private_key:make_public()

    -- 明文
    local plain_text = "Hello, Lua RSA!"

    -- 加密
    local cipher_text = public_key:encrypt(plain_text)

    -- 解密
    local decrypted_text = private_key:decrypt(cipher_text)

    -- 输出
    print("明文:", plain_text)
    print("密文:", crypt.base64encode(cipher_text))
    print("解密后的明文:", decrypted_text)
    ```

    这里使用 "lua-crypt" 库的 RSA 模块生成公私钥对,并通过公钥加密明文,私钥解密密文。需要注意的是,这里使用了 Base64 编码来表示密文,以便直接输出到控制台。实际使用中,可能需要使用其他方式对密文进行传输和存储。
    mooyo
        2
    mooyo  
       2023-04-04 20:46:07 +08:00
    最差情况下可以写 c 来对接吧
    suyuyu
        3
    suyuyu  
       2023-04-04 21:16:00 +08:00
    有没有+吗 啥语法啊
    tercel36524
        4
    tercel36524  
    OP
       2023-04-04 21:37:00 +08:00
    @xabcstack 我需要的是私钥加密,公钥解密
    tercel36524
        5
    tercel36524  
    OP
       2023-04-04 21:37:30 +08:00
    @mooyo 对 c 不大熟悉
    billlee
        6
    billlee  
       2023-04-04 22:15:34 +08:00 via Android   ❤️ 2
    RSA 公私钥是对称的,生成一对密钥,你选出一个私钥,剩下的那个就是公钥。
    dem0ns
        7
    dem0ns  
       2023-04-04 22:28:17 +08:00
    楼上说的对
    shiji
        8
    shiji  
       2023-04-05 01:08:51 +08:00 via iPhone
    目瞪口呆.jpg
    tercel36524
        9
    tercel36524  
    OP
       2023-04-05 08:06:30 +08:00
    @dem0ns 什么玩意?
    nyxsonsleep
        10
    nyxsonsleep  
       2023-04-05 16:45:20 +08:00
    先搞懂什么是非对称加密吧,要不然就自己设计一个反式 rsa 加密?私钥加密真的是绷不住
    NealLason
        11
    NealLason  
       2023-04-05 18:59:51 +08:00
    @nyxsonsleep 理论上讲,私钥签名本质也是加密过程。
    diegozhu
        12
    diegozhu  
       2023-04-05 19:15:34 +08:00 via Android
    @NealLason 补充一下:这个只在 rsa 语境下成立。ecc (不管是 rsa 还是国密)的非对称签名过程跟加密过程不是一样的。
    nyxsonsleep
        13
    nyxsonsleep  
       2023-04-05 23:43:25 +08:00
    @NealLason
    经典鸡同鸭讲,我说的是非对称加密里的私钥概念。
    再说了工程上,私钥里会放入 p q 信息,然后发送给对方私钥用来加密?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2589 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:04 · PVG 08:04 · LAX 16:04 · JFK 19:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.