इस समस्या के लिए बहुत जटिल दृष्टिकोण हैं, हालांकि आप शायद एक बहुत ही सरल के साथ जा सकते हैं। जैसे प्रत्येक संख्या के लिए एक विशेषण परिभाषित करें:
0. beautiful
1. harmless
2. evil
3. colorful
4. weird
और इसी तरह। अब अपनी पसंद के वाक्यों का चयन करें और धारकों को उन वाक्यों में रखें जहां विशेषण संबंधित हैं।
"The {adj} cat sat on the {adj} dog and the {adj} cat was happy."
आपका नंबर 123 है, इसलिए अपने वाक्य
"The harmless cat sat on the evil dog and the colorful cat was happy."
एक पार्सर आसानी से सजा ले जा सकते हैं है, यह अलग शब्दों में, इसके बाद के संस्करण की मेज पर विशेषण मिल जाए, और उन्हें संख्या के लिए वापस परिवर्तित ।
The -> ?
harmless -> 1
cat -> ?
sat -> ?
on -> ?
the -> ?
evil -> 2
:
अंत में आपके पास 123 फिर से है।
जैसे ही लोग जानते हैं कि वाक्य में छिपी हुई जानकारी है, एल्गोरिदम आसानी से टूटा हुआ है। यदि आप प्रति संख्या एकाधिक विशेषण परिभाषित करके भिन्नता जोड़ते हैं तो आप इसे तोड़ने में कठोर बना सकते हैं।
1. harmless
के बजाय आप
1. harmless/stupid/blue/fashionable
परिभाषित कर सकते हैं जब आप 1 सांकेतिक शब्दों में बदलना करने की जरूरत है, बेतरतीब ढंग से ऊपर से कोई भी शब्द लेने। चूंकि ये सभी नंबर 1 नंबर पर हैं, रिवर्स पार्सर परवाह नहीं होगा कि कौन से शब्दों को मुद्रित किया गया है, परिणाम हमेशा एक होगा। यह यादृच्छिकरण एल्गोरिदम इंजीनियर को रिवर्स करना कठिन बना देगा।
यदि आप ऐसा करते हैं तो अपने HTTP सर्वर पर संपीड़न को सक्षम करना सुनिश्चित करें! –
हां, यदि आप डेटा की महत्वपूर्ण मात्रा में संचारित कर रहे हैं तो यह कुछ हद तक कमजोर हो सकता है। –