【发布时间】:2018-12-06 04:08:16
【问题描述】:
如标题,如何在 Java 中从 SSH RSA 公钥计算指纹?
我从 sample.pub 获得了一个 rsaPublicKey 对象,并使用库 Apache Commons Codec 计算了指纹
DigestUtils.sha256Hex(rsaPublicKey.getEncoded());
但是我在使用 ssh-keygen 命令时得到了不同的指纹
ssh-keygen -E sha256 -lf sample.pub
sample.pub 如下
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAsuVPKUpLYSCNVIHD+e6u81IUznkDoiOvn/t56DRcutRc4OrNsZZ+Lmq49T4JCxUSmaT8PeLGS/IC946CNQzFwMh++sVoc19UUkZtRaDgiYn+HkYk8VW4IFI1dKfXomKSbX/lB+ohzLzXLVP2/UJgfBmdaE10k+6b+/Yd8YGXIeS8/Z9zToHPo0ORNSGIolgq3xMXUtfAOK/0KC6IFc/FuvuOSAG1UWup91bcm5GSXv4BWWjgFtOxCLIknYjsDah4qfrP8Olp5eUDhn/65xRcZsmRXoYe1ylhlSjJoPDFWXVs9npwqQmi3JaZtgg7xJxMu1ZcdpYxoj280zM9/6w1Lw==
【问题讨论】:
-
有没有办法解决这个问题?我有指纹,我需要 rsa 密钥。这可能吗?
-
不可能。指纹是通过哈希函数计算的。如果你知道什么是哈希,你就不会问这样的问题。
标签: java ssh-keys public-key java-security rsa-key-fingerprint