问题标签 [base32]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何为 Base32 类使用不同的字母表?
当我这样做时,在 python 上:
我明白了DLGGJ2KRBQZM5DRU
。在 Crypto++ 上:
我知道DMGGJ4MTBS3N7DTW
这是错误的。
有没有办法可以在 c++ 中对上面的字符串进行编码并获得与 python 相同的结果?
php - 复制洋葱地址算法?
根据我能找到的所有来源,洋葱/隐藏服务“域”是由这个过程生成的:
我试图复制它,首先用 Scallion生成一个令人难忘的虚荣 URL,“zzzzzzycizaamf47.onion”。然后,我编写了一个 PHP 脚本,从该私钥派生出公钥,去除格式,散列,截断为 10 个字符,并对它进行 base32 编码。首先,我发现了三个不同的“编码为 base32”函数,它们都给出了不同的结果。这是代码,结果在三个函数后注释:
这里出了什么问题?为什么三个“base32”函数给出不同的结果?这是 crockford32_encode 的代码,这是 Base2n的代码。我尝试了几乎所有格式/空白剥离和字符截断的组合,但从未接近所需的“zzzzzzycizaamf47”。
ios - 无效的条形码 - Google Authenticator - iOS - 用 = 填充
我们在 iOS 上遇到了 Google Authenticator 的问题。我们正在使用以下标准代码片段来生成 TOTP 密钥
生成的代码在末尾用尾随 = 符号填充,如下所示。
6ICU5K45MHIZCMTR3DABCDFP7XSZGV4DVTRABCOPD5RDQRGOLTGQ====
然后我们会根据这个字符串生成一个合适的二维码,但是在某些设备上扫描它时会出现问题。此代码在 Android 上使用 Google Authenticator 工作,但在使用 iOS 版本时失败,并出现以下错误...
无效的条形码
条形码 'otpauth://totp/MyDomain:user@user.com?secret=6ICU5K45MHIZCMTR3DABCDFP7XSZGV4DVTRABCOPD5RDQRGOLTGQ%3D%3D%3D%3D&issuer=MyDomain' 不是有效的身份验证令牌条形码。
如您所见,尾随 = 填充被编码在秘密字符串中,这似乎会导致 iOS 上的错误。不知道为什么这在 iOS 上失败,但在 Android 上却没有,但这是我们需要添加的
这是 GA GitHub 上的一个老问题,似乎是同一个问题,但没有解决方案...... https://github.com/google/google-authenticator/issues/267
&这里有人通过在编码之前播种字符串来解决问题,但这 在Apple设备上的Google Authenticator上面的场景中不起作用,某些秘密无效
关于为什么或解决问题的可能方法的任何想法?
javascript - 如何检查字符串是否在javascript中以base32编码
我需要检查 geohash 字符串是否有效,所以我需要检查它是否是 base32。
python - 使用 base64 库中的 b32decode 进行 base32 解码时忽略填充异常
在尝试使用 base64 lib 解码 base32 字符串时,我需要一种方法来忽略“不正确的填充”异常。
我看过这篇文章Python: Ignore 'Incorrect padding' error when base64 解码解决了 base64 (b64decode) 解码的问题。我试着做同样的事情(添加接受的填充的最大数量,如果我不是 msitaken,base32 是 6)像这样
但无论如何都会引发异常。
预期的结果是即使没有正确的填充,也会对 base32 字符串进行解码:
python - 如何在 python3 中进行 Base32 编码?
python 2.7 中的 Base32 编码是这样工作的:
但是当我尝试在 python3 中做同样的事情时它失败了。为什么?
python - 如何在python中结合使用base32和hotp(一次性密码)?
对于大学练习,我想用 python 开发一个简单的 hotp 服务器-客户端系统。在这种情况下,客户端向服务器发送密码和一次性密码。服务器知道秘密,计算当前的热点并比较它收到的值。到目前为止,一切都很好。使用纯文本,这可以很好地工作,并且计算的值与我使用 iOS 应用程序“OTP Auth”时得到的值相同。但也有可能结合 base32 计算 OTP。所以我添加了几行将明文编码为base32,但现在输出不正确。
假设我们使用秘密“1234”,所以明文输出将是“110366”。那行得通。但是,如果我将秘密编码为 base32,则输出应该是“807244”,但我的程序计算的是“896513”。有人知道为什么会这样吗?
我已经尝试使用不同的秘密并在不同的应用程序上进行了检查。总是一样的结果。
我希望 807244 作为输出,但输出是 896513
python - 在base32编码中无法让python跟随go
我正在尝试从 python 中复制 sha256 哈希的 base32 编码。我正在尝试复制 kube-router 为命名空间网络策略创建 ipset 名称的逻辑:https ://github.com/cloudnativelabs/kube-router/blob/736757d942f173e19566eea0a512dfa819699126/pkg/controllers/netpol/network_policy_controller.go#L1476
我只是无法让 python 产生相同的 base32 输出。我可能在做一些明显错误的事情。帮助!
去代码:
运行这个产生:
蟒蛇代码:
运行这个产生:
每个输出的第一行都同意,这很好。让我知道 sha256 校验和在每一侧的计算都是相同的。每一行的第二行都不同意,我不明白为什么——我在 python 代码中尝试了许多不同的 chksum 类型,但无济于事。每个中的第三行只是表明简单字符串的 base32 编码似乎在双方都有效。