的随机性我有一个密码,我一直与玩弄周围模仿one-time pad。我想对我生成的密钥执行测试,以查看它们在随机到伪随机的范围内的位置。我发现了一些可以在二进制字符串上工作的测试套件,但是没有一款适用于字符串。是否有任何测试套件可用于字符串(或整数字符串)?如果没有,将字符串转换为二进制字符串的正确方法是什么?测试字符串
Q
测试字符串
1
A
回答
1
字符串是一个二进制字符串。唯一的一点是,如果将其限制为某些“可打印”字符,则有一些从不使用的位模式。
例如,如果你限制了字符串中的字符A...Z
则仅使用256的26个可能的8位值。因此,理论上可以将A...Z
映射到0,1...24,25
,然后计算charIndex[0] + charIndex[1] * 26 + charIndex[2] * 26 * 26 ...
以获得整个字符串的“无偏”数值。这当然是不切实际的,但也许它给了你一个想法。
较少复杂的是简单地考虑单个字符的相对似然。也就是说,你的“字母”的所有字符都应该以相同的频率出现,并且,例如字符串“KFUTRP”已经出现,字母表中的所有字符应该与下一个字符具有相同的可能性。
也许更复杂,但较少限制是允许字符具有不同的频率,但仍然有“KFUTRP”不“预测”具有比它的整体频率大/似然度小于任何字符。
最终它了约字符序列的顺序来“预测”下一个字符的能力。
但是,如果这是一次性打印垫,那么要做的就是通过某种类似于加密散列的散列来运行字符串,并将散列值用作一次性打印垫。那么即使字符串是可识别的文本,散列值也是随机的。所有你真正想要/需要做的就是测试随机性产生的散列值。
相关问题
- 1. Pythonic字符串测试
- 2. SQL测试空字符串
- 3. 为子串测试一个字符串?
- 4. WatiN测试和连接字符串Fiasco
- 5. 如何测试字符串的文本
- 6. Java JDBC JTDS测试连接字符串
- 7. Fitnesse空字符串结果测试
- 8. unicode字符串问题单元测试
- 9. 硒测试本地字符串
- 10. 在PowerShell中测试字符串
- 11. 优化字符串生成和测试
- 12. 字符串宽容平等测试
- 13. Junit测试base64编码字符串
- 14. 正则表达式测试 “\” 字符串
- 15. 国际化字符串测试
- 16. RegEx测试字符串结尾?
- 17. 测试字符串斯威夫特
- 18. 测试字符串中的匹配
- 19. 测试字符串没有内容
- 20. 输出测试字符串是否是回文测试
- 21. 单元测试的Unicode测试字符串
- 22. 测试字符串是否具有数字字符的条件
- 23. JavaScript中,字符串:测试字符串子串的存在,其中包括
- 24. 寻找所有语言字符的测试字符串
- 25. 特定字符的测试字符串VB.NET
- 26. 测试字符串在Bash中是否有非空白字符
- 27. 如何测试字符是否不在字符串中? (java,junit)
- 28. 检测字符串
- 29. 检测字符串
- 30. pandas:测试字符串是否包含列表中的一个子字符串