{"id":36448,"date":"2024-01-22T12:45:38","date_gmt":"2024-01-22T09:15:38","guid":{"rendered":"https:\/\/wpadmin.maktabkhooneh.org\/mag\/?p=36448"},"modified":"2026-04-06T16:34:02","modified_gmt":"2026-04-06T13:04:02","slug":"crack-password-with-python","status":"publish","type":"post","link":"https:\/\/maktabkhooneh.org\/mag\/crack-password-with-python\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u0646\u062d\u0648\u0647 \u0647\u06a9 \u067e\u0633\u0648\u0631\u062f \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 | \u062a\u06a9\u0646\u06cc\u06a9 \u0647\u06a9 \u0631\u0645\u0632 \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646"},"content":{"rendered":"\n<p>\u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u067e\u0627\u06cc\u062a\u0648\u0646\u060c \u0645\u0632\u0627\u06cc\u0627 \u0648 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc\u06cc \u062f\u0627\u0631\u062f \u06a9\u0647 \u0628\u0647 \u0647\u06a9\u0631\u0647\u0627 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0647\u06a9 \u067e\u0633\u0648\u0631\u062f \u06cc\u0627 \u0631\u0645\u0632 \u06af\u0648\u0634\u06cc \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u06cc\u06a9\u06cc \u0627\u0632 \u0633\u0648\u0627\u0644\u0627\u062a \u0645\u062a\u062f\u0627\u0648\u0644\u06cc \u06a9\u0647 \u0627\u0641\u0631\u0627\u062f \u0645\u0637\u0631\u062d \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0648 \u0628\u0627 \u0686\u0647 \u06a9\u062f\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u067e\u0633\u0648\u0631\u062f \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u0627 \u0647\u06a9 \u06a9\u0646\u06cc\u0645\u061f \u0634\u06cc\u0648\u0647 \u0647\u06a9 \u0631\u0645\u0632 \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u061f \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u062a\u0635\u0645\u06cc\u0645 \u062f\u0627\u0631\u06cc\u0645 \u0646\u062d\u0648\u0647 \u0647\u06a9 \u067e\u0633\u0648\u0631\u062f \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0631\u0627 \u062a\u0648\u0636\u06cc\u062d \u062f\u0647\u06cc\u0645. \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0634\u0645\u0627 \u0647\u0645 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0628\u062d\u062b \u0639\u0644\u0627\u0642\u0647\u200c\u0645\u0646\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0627\u0632 \u062f\u0633\u062a\u0647 <a href=\"https:\/\/maktabkhooneh.org\/learn\/python\/\">\u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646<\/a> \u0648 <a href=\"https:\/\/maktabkhooneh.org\/learn\/hack\/\">\u0622\u0645\u0648\u0632\u0634 \u0647\u06a9<\/a> \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0633\u0627\u062e\u062a \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u061b \u0646\u062e\u0633\u062a\u06cc\u0646 \u06af\u0627\u0645 \u0628\u0631\u0627\u06cc \u0647\u06a9 \u067e\u0633\u0648\u0631\u062f \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<\/h2>\n\n\n\n<p>\u0627\u0648\u0644\u06cc\u0646 \u06af\u0627\u0645 \u0628\u0631\u0627\u06cc \u0647\u06a9 \u0631\u0645\u0632 \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\u060c \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u0646\u062e\u0633\u062a \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0641\u0627\u06cc\u0644 hack_password.py \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n\n\n<div class=\"jet-listing-grid--50121\" style=\"\"><div class=\"jet-listing-dynamic-field-block zht-maktab-khooneh-course cb-fb2qc30r\"data-is-block=\"jet-engine\/dynamic-field\"><div class=\"jet-listing-dynamic-field__content\" >\n<div class=\"course-card\">\n    <div class=\"course-card-img\">\n        <img decoding=\"async\" \n            data-src=\"https:\/\/media1.maktabkhooneh.org\/CACHE\/images\/courses\/images\/Python-Jadi-2_1403-12-13-113008363\/3b93e9d629dc333cc648387a996d35db.webp?expire=4893471932&#038;token=94fb7de009a85c6b8a27e6bce14262e9&#038;md5=lPt94AmoXGuKJ-a84UJi6Q==\" \n            alt=\"\u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646 \u062c\u0627\u0645\u0639\" \n            title=\"\u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646 \u062c\u0627\u0645\u0639\" \n            width=\"100%\" \n            height=\"auto\"\n           \n         src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\">\n    <\/div>\n\n    <div class=\"course-details\">\n        <a href=\"https:\/\/maktabkhooneh.org\/course\/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-mk346\/\" class=\"course-title\" target=\"_blank\" rel=\"noopener noreferrer\">\n            \u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646 \u062c\u0627\u0645\u0639        <\/a>\n\n        <div class=\"course-price\">\n            \n                <span class=\"real-price\">\n                                            \u06f2,\u06f1\u06f9\u06f9,\u06f0\u06f0\u06f0                                    <\/span>\n\n                <span>\n                    <span class=\"discounted-price\">\n                        \u06f1,\u06f0\u06f9\u06f9,\u06f5\u06f0\u06f0                    <\/span>\n                    <span class=\"price-currency\">\u062a\u0648\u0645\u0627\u0646<\/span>\n                <\/span>\n\n                                    <div class=\"discount-percentage\">\n                        \u06f5\u06f0%                    <\/div>\n                \n                    <\/div>\n        <button class=\"course-cta-button\" data-course-url=\"https:\/\/maktabkhooneh.org\/course\/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-mk346\/\">\n            \u0645\u0634\u0627\u0647\u062f\u0647 \u0648 \u062e\u0631\u06cc\u062f        <\/button>\n    <\/div>\n<\/div>\n<\/div><\/div><\/div>\n\n\n<p>\u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u060c \u062d\u0627\u0648\u06cc \u06a9\u062f \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import hashlib\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3<\/span>from urllib<span class=\"token\">.<\/span>request import urlopen\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5<\/span>def <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>password<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7<\/span>result <span class=\"token\">=<\/span> hashlib<span class=\"token\">.<\/span><span class=\"token\">sha256<\/span><span class=\"token\">(<\/span>password<span class=\"token\">.<\/span><span class=\"token\">encode<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9<\/span><span class=\"token\">return<\/span> result<span class=\"token\">.<\/span><span class=\"token\">hexdigest<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1<\/span>def <span class=\"token\">get_wordlist<\/span><span class=\"token\">(<\/span>url<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f3<\/span><span class=\"token\">try<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f5<\/span>with <span class=\"token\">urlopen<\/span><span class=\"token\">(<\/span>url<span class=\"token\">)<\/span> as f<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f7<\/span>wordlist <span class=\"token\">=<\/span> f<span class=\"token\">.<\/span><span class=\"token\">read<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span><span class=\"token\">.<\/span><span class=\"token\">decode<\/span><span class=\"token\">(<\/span><span class=\"token\">'utf-8'<\/span><span class=\"token\">)<\/span><span class=\"token\">.<\/span><span class=\"token\">splitlines<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f9<\/span><span class=\"token\">return<\/span> wordlist\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f1<\/span>except Exception as e<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f3<\/span><span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'failed to get wordlist: {e}'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f5<\/span><span class=\"token\">exit<\/span><span class=\"token\">(<\/span><span class=\"token\">\u06f1<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f7<\/span>def <span class=\"token\">bruteforce<\/span><span class=\"token\">(<\/span>wordlist<span class=\"token\">,<\/span> password<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f9<\/span>password_hash <span class=\"token\">=<\/span> <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>password<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f1<\/span><span class=\"token\">for<\/span> guess_password <span class=\"token\">in<\/span> wordlist<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f3<\/span><span class=\"token\">if<\/span> <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>guess_password<span class=\"token\">)<\/span> <span class=\"token\">==<\/span> password_hash<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f5<\/span><span class=\"token\">return<\/span> guess_password\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f7<\/span><span class=\"token\">if<\/span> __name__ <span class=\"token\">==<\/span> <span class=\"token\">'__main__'<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f9<\/span>WORDLIST_URL <span class=\"token\">=<\/span> <span class=\"token\">'https:\/\/raw.githubusercontent.com\/berzerk0\/Probable-Wordlists\/2df55facf06c7742f2038a8f6607ea9071596128\/Real-Passwords\/Top1575-probable-v2.txt'<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f1<\/span>MY_PASSWORD <span class=\"token\">=<\/span> <span class=\"token\">'\u06f1\u06f2\u06f3\u06f1\u06f2\u06f3'<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f3<\/span>wordlist <span class=\"token\">=<\/span> <span class=\"token\">get_wordlist<\/span><span class=\"token\">(<\/span>WORDLIST_URL<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f5<\/span><span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'wordlist contains {len(wordlist)} items'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f7<\/span>password <span class=\"token\">=<\/span> <span class=\"token\">bruteforce<\/span><span class=\"token\">(<\/span>wordlist<span class=\"token\">,<\/span> MY_PASSWORD<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f9<\/span><span class=\"token\">if<\/span> password is not None<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f1<\/span><span class=\"token\">print<\/span><span class=\"token\">(<\/span><span class=\"token\">'your password is:'<\/span><span class=\"token\">,<\/span> password<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f3<\/span><span class=\"token\">else<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f5<\/span><span class=\"token\">print<\/span><span class=\"token\">(<\/span><span class=\"token\">'your password is not in the wordlist'<\/span><span class=\"token\">)<\/span><\/code><\/pre>\n\n\n\n<p>\u0627\u0632 \u0622\u0646\u062c\u0627 \u06a9\u0647 \u0627\u0632 \u0647\u06cc\u0686 \u0645\u0627\u0698\u0648\u0644 \u0634\u062e\u0635 \u062b\u0627\u0644\u062b\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u060c \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0645\u062c\u0627\u0632\u06cc \u0648 \u0646\u0635\u0628 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627 \u0646\u062f\u0627\u0631\u06cc\u0645. \u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0628\u06cc\u200c\u062f\u0631\u0646\u06af \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645. \u06a9\u062f \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0627\u062c\u0631\u0627\u06cc \u0622\u0646 \u0631\u0627 \u0647\u0645 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0622\u0648\u0631\u062f\u0647\u200c\u0627\u06cc\u0645:<\/p>\n\n\n\n<p class=\"has-text-align-left\">python3 hack_password.py<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" width=\"780\" height=\"470\" src=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/01\/word-image-36448-2.jpeg\" alt=\"\u0647\u06a9 \u0631\u0645\u0632 \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\" class=\"wp-image-36450\" title=\"\" srcset=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/01\/word-image-36448-2.jpeg 780w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/01\/word-image-36448-2-300x181.jpeg.webp 300w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/01\/word-image-36448-2-768x463.jpeg.webp 768w\" sizes=\"(max-width: 780px) 100vw, 780px\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u06a9\u0631\u06a9 \u06a9\u0631\u062f\u0646 \u067e\u0633\u0648\u0631\u062f\u0647\u0627 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633<\/h2>\n\n\n\n<p>\u06cc\u06a9 \u0641\u0627\u06cc\u0644 database.csv \u0628\u0633\u0627\u0632\u06cc\u062f \u06a9\u0647 \u0646\u0645\u0627\u06cc\u0627\u0646\u06af\u0631 \u062f\u06cc\u062a\u0627\u0628\u06cc\u0633 \u0647\u06a9\u200c\u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u060c \u06a9\u062f \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>id<span class=\"token\">,<\/span>username<span class=\"token\">,<\/span>password\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3<\/span><span class=\"token\">\u06f1<\/span><span class=\"token\">,<\/span>wormweighty<span class=\"token\">,<\/span>misty1239\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5<\/span><span class=\"token\">\u06f2<\/span><span class=\"token\">,<\/span>burlydefeated<span class=\"token\">,<\/span>banking876\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7<\/span><span class=\"token\">\u06f3<\/span><span class=\"token\">,<\/span>ripefuturistic<span class=\"token\">,<\/span>ddddrrrr\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9<\/span><span class=\"token\">\u06f4<\/span><span class=\"token\">,<\/span>angel<span class=\"token\">,<\/span>qwerty123\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1<\/span><span class=\"token\">\u06f5<\/span><span class=\"token\">,<\/span>wightsquare<span class=\"token\">,<\/span>macleod8756\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f3<\/span><span class=\"token\">\u06f6<\/span><span class=\"token\">,<\/span>rampallianimpure<span class=\"token\">,<\/span>sandals123\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f5<\/span><span class=\"token\">\u06f7<\/span><span class=\"token\">,<\/span>neckedlewd<span class=\"token\">,<\/span>request345\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f7<\/span><span class=\"token\">\u06f8<\/span><span class=\"token\">,<\/span>sculliangusty<span class=\"token\">,<\/span>$gdGD90\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f9<\/span><span class=\"token\">\u06f9<\/span><span class=\"token\">,<\/span>anton<span class=\"token\">,<\/span><span class=\"token\">\u06f1\u06f2\u06f3\u06f1\u06f2\u06f3<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f1<\/span><span class=\"token\">\u06f1\u06f0<\/span><span class=\"token\">,<\/span>villainmacho<span class=\"token\">,<\/span>g672fd<\/code><\/pre>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u0646\u0627\u0645 \u0622\u0646 \u0631\u0627 hack_database.py \u0628\u06af\u0630\u0627\u0631\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644\u060c \u06a9\u062f \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import csv\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3<\/span> import hashlib\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5<\/span> from urllib<span class=\"token\">.<\/span>request import urlopen\n\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f3<\/span> def <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>password<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f5<\/span> result <span class=\"token\">=<\/span> hashlib<span class=\"token\">.<\/span><span class=\"token\">sha256<\/span><span class=\"token\">(<\/span>password<span class=\"token\">.<\/span><span class=\"token\">encode<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f7<\/span> <span class=\"token\">return<\/span> result<span class=\"token\">.<\/span><span class=\"token\">hexdigest<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f5<\/span> def <span class=\"token\">get_wordlist<\/span><span class=\"token\">(<\/span>url<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f7<\/span> <span class=\"token\">try<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f9<\/span> with <span class=\"token\">urlopen<\/span><span class=\"token\">(<\/span>url<span class=\"token\">)<\/span> as f<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f1<\/span> wordlist <span class=\"token\">=<\/span> f<span class=\"token\">.<\/span><span class=\"token\">read<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span><span class=\"token\">.<\/span><span class=\"token\">decode<\/span><span class=\"token\">(<\/span><span class=\"token\">'utf-8'<\/span><span class=\"token\">)<\/span><span class=\"token\">.<\/span><span class=\"token\">splitlines<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f3<\/span> <span class=\"token\">return<\/span> wordlist\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f5<\/span> except Exception as e<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f7<\/span> <span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'failed to get wordlist: {e}'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f9<\/span> <span class=\"token\">exit<\/span><span class=\"token\">(<\/span><span class=\"token\">\u06f1<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f7<\/span> def <span class=\"token\">get_users<\/span><span class=\"token\">(<\/span>path<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f9<\/span> <span class=\"token\">try<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f1<\/span> result <span class=\"token\">=<\/span> <span class=\"token\">&#91;<\/span><span class=\"token\">]<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f3<\/span> with <span class=\"token\">open<\/span><span class=\"token\">(<\/span>path<span class=\"token\">)<\/span> as f<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f5<\/span> reader <span class=\"token\">=<\/span> csv<span class=\"token\">.<\/span><span class=\"token\">DictReader<\/span><span class=\"token\">(<\/span>f<span class=\"token\">,<\/span> delimiter<span class=\"token\">=<\/span><span class=\"token\">','<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f7<\/span> <span class=\"token\">for<\/span> row <span class=\"token\">in<\/span> reader<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f9<\/span> result<span class=\"token\">.<\/span><span class=\"token\">append<\/span><span class=\"token\">(<\/span><span class=\"token\">dict<\/span><span class=\"token\">(<\/span>row<span class=\"token\">)<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f1<\/span> <span class=\"token\">return<\/span> result\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f3<\/span> except Exception as e<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f5<\/span> <span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'failed to get users: {e}'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f7<\/span> <span class=\"token\">exit<\/span><span class=\"token\">(<\/span><span class=\"token\">\u06f1<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f5<\/span> def <span class=\"token\">bruteforce<\/span><span class=\"token\">(<\/span>wordlist<span class=\"token\">,<\/span> password<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f7<\/span> password_hash <span class=\"token\">=<\/span> <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>password<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f9<\/span> <span class=\"token\">for<\/span> guess_password <span class=\"token\">in<\/span> wordlist<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f1<\/span> <span class=\"token\">if<\/span> <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>guess_password<span class=\"token\">)<\/span> <span class=\"token\">==<\/span> password_hash<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f3<\/span> <span class=\"token\">return<\/span> guess_password\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f1<\/span> <span class=\"token\">if<\/span> __name__ <span class=\"token\">==<\/span> <span class=\"token\">'__main__'<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f3<\/span> WORDLIST_URL <span class=\"token\">=<\/span> <span class=\"token\">'https:\/\/raw.githubusercontent.com\/berzerk0\/Probable-Wordlists\/2df55facf06c7742f2038a8f6607ea9071596128\/Real-Passwords\/Top12Thousand-probable-v2.txt'<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f5<\/span> DATABASE_PATH <span class=\"token\">=<\/span> <span class=\"token\">'database.csv'<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f6<\/span> <span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0\u06f0<\/span> wordlist <span class=\"token\">=<\/span> <span class=\"token\">get_wordlist<\/span><span class=\"token\">(<\/span>WORDLIST_URL<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0\u06f1<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0\u06f2<\/span> <span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'wordlist contains {len(wordlist)} items'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0\u06f3<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0\u06f7<\/span> users <span class=\"token\">=<\/span> <span class=\"token\">get_users<\/span><span class=\"token\">(<\/span>DATABASE_PATH<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0\u06f9<\/span> <span class=\"token\">for<\/span> user <span class=\"token\">in<\/span> users<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1\u06f1<\/span> password <span class=\"token\">=<\/span> <span class=\"token\">bruteforce<\/span><span class=\"token\">(<\/span>wordlist<span class=\"token\">,<\/span> user<span class=\"token\">&#91;<\/span><span class=\"token\">'password'<\/span><span class=\"token\">]<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1\u06f3<\/span> <span class=\"token\">if<\/span> password is not None<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1\u06f5<\/span> <span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'username: {user&#91;\"username\"]}, password: {password}'<\/span><span class=\"token\">)<\/span><\/code><\/pre>\n\n\n\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627 \u06a9\u062f \u0632\u06cc\u0631\u060c \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<p class=\"has-text-align-left\">python3 hack_database.py<\/p>\n\n\n<div class=\"jet-listing-grid--50192\" style=\"\"><style><\/style><section class=\"zht-related-post\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Article\" role=\"region\"\n  aria-label=\"Related article\">\n  <div class=\"zht-related-post-section-label\">\n    \u0645\u0637\u0627\u0644\u0628 \u0645\u0631\u062a\u0628\u0637\n  <\/div>\n  <img decoding=\"async\" width=\"300\" height=\"200\" data-src=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2019\/08\/0_bXFW6tmlJ62zPEZU-300x200.jpg\" class=\"attachment-medium size-medium wp-post-image lazyload\" alt=\"\u0646\u0645\u0648\u0646\u0647 \u06a9\u062f \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0631\u0627\u06cc \u0647\u06a9\" data-srcset=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2019\/08\/0_bXFW6tmlJ62zPEZU-300x200.jpg 300w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2019\/08\/0_bXFW6tmlJ62zPEZU-768x511.jpg 768w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2019\/08\/0_bXFW6tmlJ62zPEZU.jpg 1000w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" title=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/200;\">\n  <a href=\"https:\/\/maktabkhooneh.org\/mag\/hack-training-with-python-gray-training\/\" class=\"zht-related-post-title\"\n    itemprop=\"headline\" target=\"_blank\">\u0645\u0633\u06cc\u0631 \u0647\u06a9\u0631 \u0634\u062f\u0646 \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 + \u0646\u0645\u0648\u0646\u0647 \u06a9\u062f \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0631\u0627\u06cc \u0647\u06a9<\/a>\n<\/section><\/div>\n\n\n<h2 class=\"wp-block-heading\">\u06a9\u0631\u06a9 \u067e\u0633\u0648\u0631\u062f\u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062c\u062f\u0648\u0644\u200c\u0647\u0627\u06cc \u0631\u0646\u06af\u06cc\u0646\u200c\u06a9\u0645\u0627\u0646\u06cc<\/h2>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0628\u0647\u0628\u0648\u062f \u0648 \u062a\u0642\u0648\u06cc\u062a \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u06cc \u06a9\u0647 \u0633\u0627\u062e\u062a\u0647\u200c\u0627\u06cc\u0645\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 \u062c\u062f\u0648\u0644\u200c\u0647\u0627\u06cc \u0631\u0646\u06af\u06cc\u0646\u200c\u06a9\u0645\u0627\u0646\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645. \u062c\u062f\u0648\u0644 \u0631\u0646\u06af\u06cc\u0646\u200c\u06a9\u0645\u0627\u0646\u06cc\u060c \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u200c\u0627\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0628\u0627 \u06a9\u0631\u06a9 \u06cc\u0627 \u0634\u06a9\u0633\u062a\u0646 \u067e\u0633\u0648\u0631\u062f \u0647\u0634 \u0628\u0647 \u06a9\u0627\u0631 \u0645\u06cc\u200e\u0631\u0648\u062f. \u0628\u0647 \u0628\u06cc\u0627\u0646 \u062f\u06cc\u06af\u0631\u060c \u062c\u062f\u0648\u0644 \u0631\u0646\u06af\u06cc\u0646\u200c\u06a9\u0645\u0627\u0646\u06cc\u060c \u06cc\u06a9 \u062f\u06cc\u06a9\u0634\u0646\u0631\u06cc \u0627\u0632\u067e\u06cc\u0634 \u0645\u062d\u0627\u0633\u0628\u0647\u200c\u0634\u062f\u0647 \u0627\u0632 \u067e\u0633\u0648\u0631\u062f\u0647\u0627\u06cc \u0645\u062a\u0646 \u0633\u0627\u062f\u0647 (Plaintext) \u0648 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0647\u0634 \u0645\u062a\u0646\u0627\u0638\u0631 \u0628\u0627 \u0622\u0646\u200c\u0647\u0627\u0633\u062a. \u0647\u062f\u0641 \u0627\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062c\u062f\u0648\u0644 \u0645\u0630\u06a9\u0648\u0631 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0641\u0647\u0645\u06cc\u0645 \u0686\u0647 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0645\u062a\u0646 \u0633\u0627\u062f\u0647\u200c\u0627\u06cc\u060c \u06cc\u06a9 \u0647\u0634 \u0645\u0634\u062e\u0635 \u0648 \u062e\u0627\u0635 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a.<\/p>\n\n\n\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647\u060c \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u06cc \u0628\u0633\u0627\u0632\u06cc\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u062c\u062f\u0648\u0644 \u0631\u0646\u06af\u06cc\u0646\u200c\u06a9\u0645\u0627\u0646\u06cc \u0627\u0632 \u0641\u0647\u0631\u0633\u062a \u06a9\u0644\u0645\u0627\u062a\u06cc \u06a9\u0647 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645\u060c \u062e\u0644\u0642 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c create_rainbow_table.py \u0646\u0627\u0645 \u062f\u0627\u0631\u062f. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u06a9\u062f\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0622\u0648\u0631\u062f\u0647\u200c\u0627\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import csv\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3<\/span> import hashlib\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5<\/span> from urllib<span class=\"token\">.<\/span>request import urlopen\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7<\/span> def <span class=\"token\">get_wordlist<\/span><span class=\"token\">(<\/span>url<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9<\/span> <span class=\"token\">try<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1<\/span> with <span class=\"token\">urlopen<\/span><span class=\"token\">(<\/span>url<span class=\"token\">)<\/span> as f<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f3<\/span> wordlist <span class=\"token\">=<\/span> f<span class=\"token\">.<\/span><span class=\"token\">read<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span><span class=\"token\">.<\/span><span class=\"token\">decode<\/span><span class=\"token\">(<\/span><span class=\"token\">'utf-8'<\/span><span class=\"token\">)<\/span><span class=\"token\">.<\/span><span class=\"token\">splitlines<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f5<\/span> <span class=\"token\">return<\/span> wordlist\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f7<\/span> except Exception as e<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f9<\/span> <span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'failed to get wordlist: {e}'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f1<\/span> <span class=\"token\">exit<\/span><span class=\"token\">(<\/span><span class=\"token\">\u06f1<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f3<\/span> def <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>password<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f5<\/span> result <span class=\"token\">=<\/span> hashlib<span class=\"token\">.<\/span><span class=\"token\">sha256<\/span><span class=\"token\">(<\/span>password<span class=\"token\">.<\/span><span class=\"token\">encode<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f7<\/span> <span class=\"token\">return<\/span> result<span class=\"token\">.<\/span><span class=\"token\">hexdigest<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f9<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f0<\/span> def <span class=\"token\">create_rainbow_table<\/span><span class=\"token\">(<\/span>wordlist_url<span class=\"token\">,<\/span> rainbow_table_path<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f1<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f2<\/span> wordlist <span class=\"token\">=<\/span> <span class=\"token\">get_wordlist<\/span><span class=\"token\">(<\/span>wordlist_url<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f3<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f4<\/span> <span class=\"token\">try<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f5<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f6<\/span> with <span class=\"token\">open<\/span><span class=\"token\">(<\/span>rainbow_table_path<span class=\"token\">,<\/span> <span class=\"token\">'w'<\/span><span class=\"token\">)<\/span> as f<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f7<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f8<\/span> writer <span class=\"token\">=<\/span> csv<span class=\"token\">.<\/span><span class=\"token\">writer<\/span><span class=\"token\">(<\/span>f<span class=\"token\">,<\/span> delimiter<span class=\"token\">=<\/span><span class=\"token\">','<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f9<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f0<\/span> writer<span class=\"token\">.<\/span><span class=\"token\">writerow<\/span><span class=\"token\">(<\/span><span class=\"token\">&#91;<\/span><span class=\"token\">'password'<\/span><span class=\"token\">,<\/span> <span class=\"token\">'hash'<\/span><span class=\"token\">]<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f1<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f2<\/span> <span class=\"token\">for<\/span> word <span class=\"token\">in<\/span> wordlist<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f3<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f4<\/span> writer<span class=\"token\">.<\/span><span class=\"token\">writerow<\/span><span class=\"token\">(<\/span><span class=\"token\">&#91;<\/span>word<span class=\"token\">,<\/span> <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>word<span class=\"token\">)<\/span><span class=\"token\">]<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f5<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f6<\/span> except Exception as e<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f7<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f8<\/span> <span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'failed to create rainbow table: {e}'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f9<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f0<\/span> <span class=\"token\">exit<\/span><span class=\"token\">(<\/span><span class=\"token\">\u06f1<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f1<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f3<\/span> <span class=\"token\">if<\/span> __name__ <span class=\"token\">==<\/span> <span class=\"token\">'__main__'<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f5<\/span> WORDLIST_URL <span class=\"token\">=<\/span> <span class=\"token\">'https:\/\/raw.githubusercontent.com\/berzerk0\/Probable-Wordlists\/2df55facf06c7742f2038a8f6607ea9071596128\/Real-Passwords\/Top1575-probable-v2.txt'<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f7<\/span> RAINBOW_TABLE_PATH <span class=\"token\">=<\/span> <span class=\"token\">'rainbow_table.csv'<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f9<\/span> <span class=\"token\">create_rainbow_table<\/span><span class=\"token\">(<\/span>WORDLIST_URL<span class=\"token\">,<\/span> RAINBOW_TABLE_PATH<span class=\"token\">)<\/span><\/code><\/pre>\n\n\n\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0628\u0627\u06cc\u062f \u0622\u062e\u0631\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 \u0648 \u0646\u0627\u0645 \u0622\u0646 \u0631\u0627 hack_database_v2.py \u0628\u06af\u0630\u0627\u0631\u06cc\u0645. \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0645\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0647\u0645 \u0627\u0632 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0645\u062a\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u0645\u062b\u0627\u0644\u200c\u0647\u0627\u06cc \u0642\u0628\u0644\u06cc \u0622\u0645\u062f\u0647 \u0627\u0633\u062a\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u06a9\u062f\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0622\u0645\u062f\u0647 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import csv\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3<\/span>import hashlib\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5<\/span>from urllib<span class=\"token\">.<\/span>request import urlopen\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7<\/span>def <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>password<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9<\/span>result <span class=\"token\">=<\/span> hashlib<span class=\"token\">.<\/span><span class=\"token\">sha256<\/span><span class=\"token\">(<\/span>password<span class=\"token\">.<\/span><span class=\"token\">encode<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f1<\/span><span class=\"token\">return<\/span> result<span class=\"token\">.<\/span><span class=\"token\">hexdigest<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f3<\/span>def <span class=\"token\">get_wordlist<\/span><span class=\"token\">(<\/span>url<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f5<\/span><span class=\"token\">try<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f7<\/span>with <span class=\"token\">urlopen<\/span><span class=\"token\">(<\/span>url<span class=\"token\">)<\/span> as f<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f1\u06f9<\/span>wordlist <span class=\"token\">=<\/span> f<span class=\"token\">.<\/span><span class=\"token\">read<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span><span class=\"token\">.<\/span><span class=\"token\">decode<\/span><span class=\"token\">(<\/span><span class=\"token\">'utf-8'<\/span><span class=\"token\">)<\/span><span class=\"token\">.<\/span><span class=\"token\">splitlines<\/span><span class=\"token\">(<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f1<\/span><span class=\"token\">return<\/span> wordlist\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f3<\/span>except Exception as e<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f5<\/span><span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'failed to get wordlist: {e}'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f7<\/span><span class=\"token\">exit<\/span><span class=\"token\">(<\/span><span class=\"token\">\u06f1<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f2\u06f9<\/span>def <span class=\"token\">get_users<\/span><span class=\"token\">(<\/span>path<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f1<\/span><span class=\"token\">try<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f3<\/span>result <span class=\"token\">=<\/span> <span class=\"token\">&#91;<\/span><span class=\"token\">]<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f5<\/span>with <span class=\"token\">open<\/span><span class=\"token\">(<\/span>path<span class=\"token\">)<\/span> as f<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f7<\/span>reader <span class=\"token\">=<\/span> csv<span class=\"token\">.<\/span><span class=\"token\">DictReader<\/span><span class=\"token\">(<\/span>f<span class=\"token\">,<\/span> delimiter<span class=\"token\">=<\/span><span class=\"token\">','<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f3\u06f9<\/span><span class=\"token\">for<\/span> row <span class=\"token\">in<\/span> reader<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f1<\/span>result<span class=\"token\">.<\/span><span class=\"token\">append<\/span><span class=\"token\">(<\/span><span class=\"token\">dict<\/span><span class=\"token\">(<\/span>row<span class=\"token\">)<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f3<\/span><span class=\"token\">return<\/span> result\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f5<\/span>except Exception as e<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f7<\/span><span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'failed to get users: {e}'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f4\u06f9<\/span><span class=\"token\">exit<\/span><span class=\"token\">(<\/span><span class=\"token\">\u06f1<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f1<\/span>def <span class=\"token\">get_rainbow_table<\/span><span class=\"token\">(<\/span>path<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f3<\/span><span class=\"token\">try<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f5<\/span>result <span class=\"token\">=<\/span> <span class=\"token\">&#91;<\/span><span class=\"token\">]<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f7<\/span>with <span class=\"token\">open<\/span><span class=\"token\">(<\/span>path<span class=\"token\">)<\/span> as f<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f5\u06f9<\/span>reader <span class=\"token\">=<\/span> csv<span class=\"token\">.<\/span><span class=\"token\">DictReader<\/span><span class=\"token\">(<\/span>f<span class=\"token\">,<\/span> delimiter<span class=\"token\">=<\/span><span class=\"token\">','<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f1<\/span><span class=\"token\">for<\/span> row <span class=\"token\">in<\/span> reader<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f3<\/span>result<span class=\"token\">.<\/span><span class=\"token\">append<\/span><span class=\"token\">(<\/span><span class=\"token\">dict<\/span><span class=\"token\">(<\/span>row<span class=\"token\">)<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f5<\/span><span class=\"token\">return<\/span> result\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f7<\/span>except Exception as e<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f6\u06f9<\/span><span class=\"token\">print<\/span><span class=\"token\">(<\/span>f<span class=\"token\">'failed to get rainbow table: {e}'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f1<\/span><span class=\"token\">exit<\/span><span class=\"token\">(<\/span><span class=\"token\">\u06f1<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f3<\/span>def <span class=\"token\">match_hash<\/span><span class=\"token\">(<\/span>users<span class=\"token\">,<\/span> rainbow_table<span class=\"token\">)<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f5<\/span><span class=\"token\">for<\/span> user <span class=\"token\">in<\/span> users<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f7<\/span>password_hash <span class=\"token\">=<\/span> <span class=\"token\">hash<\/span><span class=\"token\">(<\/span>user<span class=\"token\">&#91;<\/span><span class=\"token\">'password'<\/span><span class=\"token\">]<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f7\u06f9<\/span><span class=\"token\">for<\/span> row <span class=\"token\">in<\/span> rainbow_table<span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f1<\/span><span class=\"token\">if<\/span> password_hash <span class=\"token\">==<\/span> row<span class=\"token\">&#91;<\/span><span class=\"token\">'hash'<\/span><span class=\"token\">]<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f3<\/span><span class=\"token\">print<\/span><span class=\"token\">(<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f5<\/span>f<span class=\"token\">'username: {user&#91;\"username\"]}, password {row&#91;\"password\"]}'<\/span><span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f7<\/span><span class=\"token\">if<\/span> __name__ <span class=\"token\">==<\/span> <span class=\"token\">'__main__'<\/span><span class=\"token\">:<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f8\u06f9<\/span>WORDLIST_URL <span class=\"token\">=<\/span> <span class=\"token\">'https:\/\/raw.githubusercontent.com\/berzerk0\/Probable-Wordlists\/2df55facf06c7742f2038a8f6607ea9071596128\/Real-Passwords\/Top12Thousand-probable-v2.txt'<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f0<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f1<\/span>DATABASE_PATH <span class=\"token\">=<\/span> <span class=\"token\">'database.csv'<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f2<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f3<\/span>RAINBOW_TABLE_PATH <span class=\"token\">=<\/span> <span class=\"token\">'rainbow_table.csv'<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f4<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f5<\/span>users <span class=\"token\">=<\/span> <span class=\"token\">get_users<\/span><span class=\"token\">(<\/span>DATABASE_PATH<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f6<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f7<\/span>rainbow_table <span class=\"token\">=<\/span> <span class=\"token\">get_rainbow_table<\/span><span class=\"token\">(<\/span>RAINBOW_TABLE_PATH<span class=\"token\">)<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f8<\/span>\n<span class=\"linenumber react-syntax-highlighter-line-number\">\u06f9\u06f9<\/span><span class=\"token\">match_hash<\/span><span class=\"token\">(<\/span>users<span class=\"token\">,<\/span> rainbow_table<span class=\"token\">)<\/span><\/code><\/pre>\n\n\n\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0627\u0632 \u06a9\u0627\u0631\u060c \u0628\u0627\u06cc\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06a9\u062f \u0632\u06cc\u0631\u060c \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<p class=\"has-text-align-left\">python3 hack_database_v2.py<\/p>\n\n\n\n<p>\u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0628\u06cc\u0634\u062a\u0631 \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627 \u0627\u0632 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645\u200c\u0647\u0627\u06cc \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0648 \u062d\u0631\u0641\u0647\u200c\u0627\u06cc \u0628\u0631\u0627\u06cc \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0645\u062b\u0644 Bcrypt\u060c Scrypt \u06cc\u0627 Argon2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0648 \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645\u200c\u0647\u0627\u060c \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062c\u062f\u0648\u0644\u200c\u0647\u0627\u06cc \u0631\u0646\u06af\u06cc\u0646\u200c\u06a9\u0645\u0627\u0646\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0645\u0642\u0627\u0648\u0645 \u0647\u0633\u062a\u0646\u062f. \u062d\u062a\u0627 \u0627\u06af\u0631 \u067e\u0633\u0648\u0631\u062f\u0647\u0627 \u0628\u0631\u0627\u0628\u0631 \u0628\u0627\u0634\u0646\u062f\u060c \u0647\u0631 \u0647\u0634\u060c \u06cc\u06af\u0627\u0646\u0647 \u0648 \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u0627\u0633\u062a \u0648 \u0628\u0647 \u0647\u0645\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u062f\u06cc\u06af\u0631 \u062c\u062f\u0648\u0644\u200c\u0647\u0627\u06cc \u0631\u0646\u06af\u06cc\u0646\u200c\u06a9\u0645\u0627\u0646\u06cc \u06a9\u0627\u0631\u06af\u0634\u0627 \u0646\u06cc\u0633\u062a\u0646\u062f\u061b \u0627\u0632 \u0627\u06cc\u0646 \u0631\u0648 \u0627\u0645\u0631\u0648\u0632\u0647 \u062f\u06cc\u06af\u0631 \u062c\u062f\u0648\u0644\u200c\u0647\u0627\u06cc \u0631\u0646\u06af\u06cc\u0646\u200c\u06a9\u0645\u0627\u0646\u06cc \u0645\u062d\u0628\u0648\u0628\u06cc\u062a \u0686\u0646\u062f\u0627\u0646\u06cc \u0646\u062f\u0627\u0631\u0646\u062f.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" width=\"780\" height=\"470\" data-src=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/01\/word-image-36448-3.jpeg\" alt=\"\u06a9\u0631\u06a9 \u067e\u0633\u0648\u0631\u062f \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\" class=\"wp-image-36451 lazyload\" title=\"\" data-srcset=\"https:\/\/maktabkhooneh.org\/mag\/wp-content\/uploads\/2024\/01\/word-image-36448-3.jpeg 780w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/01\/word-image-36448-3-300x181.jpeg.webp 300w, https:\/\/maktabkhooneh.org\/mag\/wp-content\/smush-webp\/2024\/01\/word-image-36448-3-768x463.jpeg.webp 768w\" data-sizes=\"(max-width: 780px) 100vw, 780px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 780px; --smush-placeholder-aspect-ratio: 780\/470;\" \/><figcaption><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u062a\u0628\u062f\u06cc\u0644 \u0634\u062f\u0646 \u0628\u0647 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633 \u062d\u0631\u0641\u0647\u200c\u0627\u06cc \u0648 \u062a\u0645\u0627\u0645\u200c\u0639\u06cc\u0627\u0631 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0627 \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u06cc \u0645\u06a9\u062a\u0628\u200c\u062e\u0648\u0646\u0647<\/h2>\n\n\n\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0631\u062f\u06cc\u0645 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u0647\u06a9 \u067e\u0633\u0648\u0631\u062f \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u06cc\u0645. \u0628\u0627 \u0627\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0631 \u067e\u0633\u0648\u0631\u062f\u06cc \u0631\u0627 \u0647\u06a9 \u06a9\u0646\u06cc\u062f. \u062d\u062a\u0627 \u0627\u06af\u0631 \u062f\u0646\u0628\u0627\u0644 \u0647\u06a9 \u0631\u0645\u0632 \u06af\u0648\u0634\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0647\u0633\u062a\u06cc\u062f \u0647\u0645 \u0627\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0645\u0641\u06cc\u062f \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0647\u0633\u062a\u0646\u062f.<\/p>\n\n\n\n<p>\u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u062a\u0645\u0627\u06cc\u0644 \u062f\u0627\u0631\u06cc\u062f \u0628\u0647 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633 \u062d\u0631\u0641\u0647\u200c\u0627\u06cc \u067e\u0627\u06cc\u062a\u0648\u0646 \u062a\u0628\u062f\u06cc\u0644 \u0634\u0648\u06cc\u062f \u0648 \u06a9\u0644\u06cc\u0647 \u062a\u06a9\u0646\u06cc\u06a9\u200c\u0647\u0627 \u0648 \u062a\u0631\u0641\u0646\u062f\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0631\u0627 \u06cc\u0627\u062f \u0628\u06af\u06cc\u0631\u06cc\u062f\u060c \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u062f\u0631 \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u06cc \u0622\u0645\u0648\u0632\u0634\u06cc \u062c\u0627\u0645\u0639 \u0648 \u062a\u062e\u0635\u0635\u06cc \u067e\u0627\u06cc\u062a\u0648\u0646 \u0634\u0631\u06a9\u062a \u06a9\u0646\u06cc\u062f. \u067e\u0644\u062a\u0641\u0631\u0645 \u0622\u0645\u0648\u0632\u0634\u06cc \u0645\u06a9\u062a\u0628\u200c\u062e\u0648\u0646\u0647\u060c \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u0631\u0627\u06a9\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0627\u06cc\u0646 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0622\u0646\u0644\u0627\u06cc\u0646 \u0628\u0631\u06af\u0632\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062f\u0631 \u0635\u0648\u0631\u062a \u062a\u0645\u0627\u06cc\u0644 \u0628\u0647 \u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u06cc \u0622\u0645\u0648\u0632\u0634\u06cc \u067e\u0627\u06cc\u062a\u0648\u0646 \u0645\u06a9\u062a\u0628\u200c\u062e\u0648\u0646\u0647 \u0648 \u062b\u0628\u062a \u0646\u0627\u0645 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0648\u0631\u0647\u200c\u0647\u0627\u060c \u06a9\u0627\u0641\u06cc \u0627\u0633\u062a \u0628\u0647 \u0635\u0641\u062d\u0647 \u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p>\u0622\u06cc\u0627 \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u06cc\u0627\u0646 \u0634\u062f\u060c \u0631\u0648\u0634 \u062f\u06cc\u06af\u0631\u06cc \u0628\u0631\u0627\u06cc \u0647\u06a9 \u067e\u0633\u0648\u0631\u062f \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0644\u062f\u06cc\u062f\u061f \u0644\u0637\u0641\u0627\u064b \u0646\u0638\u0631\u0647\u0627\u060c \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u0647\u0627 \u0648 \u062a\u062c\u0631\u0628\u06cc\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0645\u0627 \u0648 \u0633\u0627\u06cc\u0631 \u0647\u0645\u0631\u0627\u0647\u0627\u0646 \u0645\u06a9\u062a\u0628\u200c\u062e\u0648\u0646\u0647 \u062f\u0631 \u0628\u062e\u0634 \u062f\u06cc\u062f\u06af\u0627\u0647\u200c\u0647\u0627 (\u0632\u06cc\u0631 \u0647\u0645\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647) \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u067e\u0627\u06cc\u062a\u0648\u0646\u060c \u0645\u0632\u0627\u06cc\u0627 \u0648 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc\u06cc \u062f\u0627\u0631\u062f \u06a9\u0647 \u0628\u0647 \u0647\u06a9\u0631\u0647\u0627 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0647\u06a9 \u067e\u0633\u0648\u0631\u062f \u06cc\u0627 \u0631\u0645\u0632 \u06af\u0648\u0634\u06cc \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u06cc\u06a9\u06cc \u0627\u0632 \u0633\u0648\u0627\u0644\u0627\u062a \u0645\u062a\u062f\u0627\u0648\u0644\u06cc \u06a9\u0647 \u0627\u0641\u0631\u0627\u062f \u0645\u0637\u0631\u062d \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0648 \u0628\u0627 \u0686\u0647 \u06a9\u062f\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u067e\u0633\u0648\u0631\u062f \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u0627 \u0647\u06a9 \u06a9\u0646\u06cc\u0645\u061f \u0634\u06cc\u0648\u0647 \u0647\u06a9 \u0631\u0645\u0632 \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a\u061f \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u062a\u0635\u0645\u06cc\u0645 \u062f\u0627\u0631\u06cc\u0645 [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":36449,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,22],"tags":[],"class_list":["post-36448","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-articles","category-network-security-articles"],"_links":{"self":[{"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/posts\/36448","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/comments?post=36448"}],"version-history":[{"count":6,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/posts\/36448\/revisions"}],"predecessor-version":[{"id":65777,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/posts\/36448\/revisions\/65777"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/media\/36449"}],"wp:attachment":[{"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/media?parent=36448"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/categories?post=36448"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maktabkhooneh.org\/mag\/wp-json\/wp\/v2\/tags?post=36448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}