gpt4 book ai didi

java - 如何从数据库表中存储和检索 RSA 私钥?

转载 作者:行者123 更新时间:2023-12-01 11:38:20 25 4
gpt4 key购买 nike

我的应用程序使用私钥通过 key 文件连接到 SFTP。

当我测试代码并引用计算机上存储的私钥文件时,我可以成功连接。

key 文件的内容具有以下格式。

-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUp wmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5 1s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQABAoGAFijko56+qGyN8M0RVyaRAXz++xTqHBLh 3tx4VgMtrQ+WEgCjhoTwo23KMBAuJGSYnRmoBZM3lMfTKevIkAidPExvYCdm5dYq3XToLkkLv5L2 pIIVOFMDG+KESnAFV7l2c+cnzRMW0+b6f8mR1CJzZuxVLL6Q02fvLi55/mbSYxECQQDeAw6fiIQX GukBI4eMZZt4nscy2o12KyYner3VpoeE+Np2q+Z3pvAMd/aNzQ/W9WaI+NRfcxUJrmfPwIGm63il AkEAxCL5HQb2bQr4ByorcMWm/hEP2MZzROV73yF41hPsRC9m66KrheO9HPTJuo3/9s5p+sqGxOlF L0NDt4SkosjgGwJAFklyR1uZ/wPJjj611cdBcztlPdqoxssQGnh85BzCj/u3WqBpE2vjvyyvyI5k X6zk7S0ljKtt2jny2+00VsBerQJBAJGC1Mg5Oydo5NwD6BiROrPxGo2bpTbu/fhrT8ebHkTz2epl U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ 37sJ5QsW+sJyoNde3xH8vdXhzU7eT82D6X/scw9RZz+/6rCJ4p0= -----END RSA PRIVATE KEY-----

我需要将私钥存储在数据库表中。当我尝试检索私钥时,出现以下异常:

javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) at com.sun.crypto.provider.DESedeCipher.engineDoFinal(DashoA13*..) at javax.crypto.Cipher.doFinal(DashoA13*..)

我想了解如何将私钥存储在数据库表中以便可以检索。

编辑:进一步澄清我的问题。我想了解如何将 RSA 私钥存储在数据库表中,以便我可以从数据库检索 RSA 私钥,而不会出现 IllegalBlockSizeException 异常。

最佳答案

我建议您进一步调试代码 - 通过 a) 尝试使用显式放置在代码中的 key 作为字符串来执行它并确保它有效,然后 b) 确保从数据库返回的是与原来的字符串相同。这些步骤会将问题中的数据库逻辑部分与加密逻辑部分解耦。

不过,要获得有关您遇到的错误的更具体答案,您可能需要查看您的代码。到目前为止,您似乎正在尝试在需要二进制形式的情况下使用 key 的文本形式。或者也许您在将 key 发送到数据库时弄乱了 key 的 base64。

关于java - 如何从数据库表中存储和检索 RSA 私钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29771138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com