我想知道数字签名是否可以包含点(.
)字符? (像这样:abcd.kdjksjsdf
)
答案 0 :(得分:2)
“数字签名”是一个广义的术语,因为签名本身是使用不同的加密算法创建的,然后被包装到不同的结构中。
签名(作为加密操作的产品)始终是二进制的。大多数包装格式也是二进制的。在一些罕见的情况下(例如在OpenPGP中),格式提供了二进制签名的一些可选的基于文本的(最常见的BASE16或BASE64)编码。
所以“点”的问题没有多大意义。当然,签名中可以使用值为0x2E(46 dec)的字节,因为签名可以包含任何字节值。当签名被视为 ASCII兼容文本时,值为0x2E的字节将被解释为点。
特定编码中的点是否可能与签名文本有关取决于编码方案。常规base 64编码不包含点,仅包含字母数字和+
,\
或=
字符。