的隨機性我有一個密碼,我一直與玩弄周圍模仿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. 測試字符串
- 2. 測試字符串條件
- 3. 用PHP測試字符串
- 4. SQL測試空字符串
- 5. Pythonic字符串測試
- 6. 爲子串測試一個字符串?
- 7. AutoHotKey - 測試字符串是否包含另一個字符串
- 8. 與格式JUnit測試(字符串,字符串,枚舉)
- 9. 測試單個字符串中的多個子字符串?
- 10. 在字符串格式列表中的Python測試字符串
- 11. 不是字母或數字的字符測試字符串
- 12. 正則表達式測試 「\」 字符串
- 13. 使用字符串測試DataContractSerializer
- 14. 單元測試本地化字符串
- 15. NSPredicate測試NULL,並空白字符串
- 16. 測試字符串或全部整數
- 17. 字符串寬容平等測試
- 18. 測試字符串中的匹配
- 19. Fitnesse空字符串結果測試
- 20. RegEx測試字符串結尾?
- 21. 硒測試本地字符串
- 22. 測試動態創建的字符串
- 23. Mockito測試方法返回字符串
- 24. 新手 - PHP - 測試 '空' 字符串
- 25. Junit測試base64編碼字符串
- 26. 測試字符串轉換爲比DateTime.TryParseExact
- 27. 測試什麼字符串令牌
- 28. 國際化字符串測試
- 29. 如何在Python中測試字符串?
- 30. WatiN測試和連接字符串Fiasco