问题描述
我需要创建一个 public.pem 和 private.pem,但我需要这两个文件数据必须只包含字母数字值。
例如:
-----BEGIN PUBLIC KEY-----
YnSfHPKjSuR1qPBNWRgeIqBcvN98gJsAjsInjl5SGdpReRNOaUQS6NuCBZ4wcWZu
iGBpyoS5Xo0eFWQD16fQuzzS02VPRtUzAEcJBNJn1TrsqB9u2sz715RAp9Yij1LO
tRpIpeZeSrfV7rvM8SFSXbrQiwsPLrxJZt3ZPsyL8zIjArPoovbbwFdscdFdQGTg
SbomQA833dzsCEGj593eAZiyG2juBogRDKTKUxoJoiTw6qwxt1V0LsOgD31AVcHF
==
-----END PUBLIC KEY-----
到目前为止,我查看的大多数示例都是公钥和私钥,并包含字母数字值以及“/#%@”类型的字符。
我需要创建一个仅包含字母数字字符的公钥和私钥。
如何创建仅包含字母数字数据的 public.pem 和 private.pem?
解决方法
/#%@
字符是 base64,这只是二进制数据的编码方案,与底层数据无关。
对于具有字母数字基础结构的公钥/私钥,这也是不可能的,因为:
椭圆曲线密码系统使用:
- 数字私钥,表示 ECC 点乘法的标量。
- 数字公钥,表示笛卡尔平面上的一个点。
RSA 密码系统使用:
- 数字私钥,表示私有指数值。
- 数字公钥,表示模数和公共指数值。
两者都没有 alpha 值。