生成GitHub App私钥的Base64格式SHA256哈希及验证匹配问题
验证GitHub App私钥的SHA256值不匹配问题
问题说明
我需要验证下载的GitHub App(非OAuth应用)私钥的有效性。下载完成后,GitHub展示了该密钥的SHA256值,由于我生成的其他密钥末尾都带有=,所以猜测这个值是Base64格式。但我计算得出的SHA256值为0AF42CB67E691B3A9B58167F143C29DF1AE713E3FCEA036149C6273949980D1E,对应的Base64变体为CvQstn5pGzqbWBZ/FDwp3xrnE+P86gNhScYnOUmYDR4=,两者均与GitHub显示的值不匹配。
计算步骤
PowerShell操作
Get-FileHash -Path "my_private_key.pem" -Algorithm SHA256 $content = Get-Content -Path "my_private_key.pem" -Raw $sha256 = [System.Security.Cryptography.SHA256]::Create() $hashBytes = $sha256.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($content)) $base64Hash = [Convert]::ToBase64String($hashBytes) Write-Output $base64Hash
Linux操作
sha256sum my_private_key.pem sha256_hash=$(openssl dgst -sha256 -binary my_private_key.pem | base64) echo $sha256_hash
两种环境下的输出结果完全一致。
示例私钥(已失效,仅作演示)
-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA6CQ4fEPYkpIVleHoTQVQEP8ZuLLwFxyUNatiZhvbuP7ACGVu xnhL6dDbCvhKczFJ79loiJjVqumwX8tXmJSgjXxD43nMiWLE/6EFdxdBdl9eqio9 e6VGy5RMoBMLW2RYhppWgVUlJsaeCdpGqPrjRw2l/P49kA1uIj96tdTm2UEP345v RfiFzd9+uU4LMbfK+KCBqD81vutx2sSq5pby1UOiQ5XFISm/VHe2RKUOIsev24TZ fwKrujTQorS/RgL7jVbedQrEgwMalAH1rQ821Fs+mZ7zFO9jIAEuGWCBT/Ag2hWE ITSKIb8EMKdRFI6aHhkQzsmSV2ysqmE5HZveIQIDAQABAoIBAQDbv13RFBBxPuQ8 C6txLXRLgpCArLJlzmHmJCRzcC+ggVabHBmuurVx0olnav5e6OuKpo0zsSmiLrEN HVoAT8Fj7Zv+O5AJBXxiV7TqtRL80O61umKVJzFLCUk3xo9bpjO+x17X8xfGCwIT ZZK55zU6T4svYCQ6ttvog5rPgYg9YnHUQcoFzHxGWlq5J0plN6SXzHoeP+HC3TcX zGu4ACRUqMJw7S0QKhPok8obdpJBHzN0QT34joeaB0AjRx3ho3UsIb1UASIBJ8BF JjnHP93ivfwxZ+5LvV5g3uqcFbqV7FQC6zWhjlnoCnaW9vRtAK35fT3ngdai/yGG ankSnlu5AoGBAPlAYUTVBrvX2LxBtRJ5ZWwrrnAxtwWk0HxMvBv8Wy1/OPRBizLx SQI67lGYiOo/nTjzLuewGepY6HR6xM4BVO9A3ioyivSJnNwrySWe1f0991X9LjSW WqoYD48FNg/8v80QU39twEZ+6blwPwWh8od9WFsIdaXhPDhlvm6ruAObAoGBAO5t P1AgSSephtVmz5VkmmUkJHYfNxXnYvVm7sUFGxiIBpLMklde3aS78ue1V5zNrWNG obboSP44C9ZZC7WDbiInhN8NeuTBDILezqzb0M2gm6dhwLVvG6JZzNCs2m9tnpAe 5iwp6N1pp6I+e3G3kTUw2n61I0vfCVMTjibyxXbzAoGAPKdaBDICrXtdFpK2yYQZ FjWbAVpXu1vcECNsMzM5zNyEs4uvn/nvVkeY7uo7hyVr0Qv8ggzsgYaZKp8lfSv9 yyrx5TrfbZp/PWS6UhlQ4YtOwPIXaFyeO34XaypNeZ573h728q92drEzlxilfW1n Y2kxMxXf6zngOakoqi3HXbkCgYEAp8H2akpNLrr5Q+2y4UqH1+I2RWZxO9gyqLhk B/wvtHMBLQkDbrYw/VfA8YeGva158gAgiLGnqjeFHKxKsMxpEV78/nRdo9axFuPu R3Hi2MvIuVzuWrpylyjYE3uLthtLFdyn1yslzaQpbt7HvJuMcACPu9d3nkqwJOP9 gSoQBkECgYADNCCJawIJFSfUbvggWfnXcdDqg8Uq4MJJPX/kEKfGJ0l8mBs6+mVN XCOQGO4CEDDUEkVLcGakdsMgCVt6d2dd1V5hqncX8a2EJgWwboedIPtsa1IakJxk ZV1QqC2ZTUf43eSWbH0w3NJvlKD5j0nRs3NwR+QjBgUsnGSPvgPVtw== -----END RSA PRIVATE KEY-----
恳请各位提供帮助:)
内容的提问来源于stack exchange,提问作者thunermay
相关产品推荐
相关产品推荐

