{"id":770,"date":"2026-06-29T07:12:44","date_gmt":"2026-06-29T07:12:44","guid":{"rendered":"https:\/\/erendogu.com\/?page_id=770"},"modified":"2026-06-29T21:27:41","modified_gmt":"2026-06-29T21:27:41","slug":"erendogu-com-sifre-gucluluk-analizi","status":"publish","type":"page","link":"https:\/\/erendogu.com\/tr\/erendogu-com-sifre-gucluluk-analizi\/","title":{"rendered":"\u015eifre G\u00fc\u00e7l\u00fcl\u00fck ve K\u0131r\u0131lma S\u00fcresi Analiz Arac\u0131 (2026)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>&#8220;\u015eifrenizin ger\u00e7ek g\u00fcc\u00fcn\u00fc \u00f6\u011frenin! Bu ara\u00e7, \u015fifrenizin entropi de\u011ferini hesaplar, olas\u0131 karakter kombinasyonlar\u0131n\u0131 analiz eder ve modern bilgisayarlarla brute force (kaba kuvvet) sald\u0131r\u0131s\u0131na kar\u015f\u0131 tahmini k\u0131r\u0131lma s\u00fcresini g\u00f6sterir. G\u00fcvenli\u011finiz i\u00e7in: \u015eifreniz hi\u00e7bir yere g\u00f6nderilmez, tamamen taray\u0131c\u0131n\u0131zda analiz edilir.&#8221;<\/em><\/p>\n\n\n\n<style>\n  .eren-password-tool {\n      font-family: system-ui, -apple-system, sans-serif;\n      max-width: 650px;\n      margin: 2rem auto;\n      padding: 2rem;\n      background: #ffffff;\n      border: 1px solid #e2e8f0;\n      border-radius: 12px;\n      box-shadow: 0 4px 10px rgba(0,0,0,0.05);\n      color: #1e293b;\n  }\n  .eren-password-tool h3 {\n      margin-top: 0;\n      font-size: 1.3rem;\n      color: #0f172a;\n      border-bottom: 2px solid #8b5cf6;\n      padding-bottom: 0.5rem;\n      display: inline-block;\n  }\n  .password-input-wrapper {\n      position: relative;\n      margin-bottom: 1.5rem;\n  }\n  .password-input-wrapper input {\n      width: 100%;\n      padding: 1rem;\n      padding-right: 60px;\n      border: 2px solid #cbd5e1;\n      border-radius: 8px;\n      font-size: 1.1rem;\n      font-family: 'Courier New', monospace;\n      box-sizing: border-box;\n      transition: border 0.2s;\n  }\n  .password-input-wrapper input:focus {\n      outline: none;\n      border-color: #8b5cf6;\n      box-shadow: 0 0 0 3px rgba(139,92,246,0.1);\n  }\n  .toggle-visibility {\n      position: absolute;\n      right: 12px;\n      top: 50%;\n      transform: translateY(-50%);\n      background: none;\n      border: none;\n      cursor: pointer;\n      font-size: 1.3rem;\n      color: #64748b;\n      padding: 5px;\n  }\n  .strength-meter {\n      margin-bottom: 1.5rem;\n  }\n  .strength-bar {\n      height: 8px;\n      background: #e2e8f0;\n      border-radius: 4px;\n      overflow: hidden;\n      margin-top: 0.5rem;\n  }\n  .strength-fill {\n      height: 100%;\n      width: 0%;\n      transition: width 0.3s, background-color 0.3s;\n  }\n  .strength-label {\n      font-weight: 600;\n      font-size: 1rem;\n      margin-top: 0.5rem;\n  }\n  .analysis-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 1rem;\n      margin-bottom: 1.5rem;\n  }\n  .analysis-card {\n      padding: 1rem;\n      background: #f8fafc;\n      border-radius: 8px;\n      border-left: 3px solid #8b5cf6;\n  }\n  .analysis-card h4 {\n      margin: 0 0 0.5rem 0;\n      font-size: 0.9rem;\n      color: #64748b;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n  }\n  .analysis-card .value {\n      font-size: 1.3rem;\n      font-weight: 700;\n      color: #0f172a;\n  }\n  .analysis-card .value.small {\n      font-size: 0.95rem;\n  }\n  .checklist {\n      list-style: none;\n      padding: 0;\n      margin: 0 0 1.5rem 0;\n  }\n  .checklist li {\n      padding: 0.6rem;\n      margin-bottom: 0.5rem;\n      background: #f1f5f9;\n      border-radius: 6px;\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      font-size: 0.95rem;\n  }\n  .checklist li.pass {\n      background: #d1fae5;\n      color: #065f46;\n  }\n  .checklist li.fail {\n      background: #fee2e2;\n      color: #991b1b;\n  }\n  .crack-time {\n      padding: 1.2rem;\n      background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n      color: white;\n      border-radius: 8px;\n      text-align: center;\n      margin-bottom: 1rem;\n  }\n  .crack-time h4 {\n      margin: 0 0 0.5rem 0;\n      font-size: 0.9rem;\n      opacity: 0.9;\n      text-transform: uppercase;\n      letter-spacing: 1px;\n  }\n  .crack-time .time {\n      font-size: 1.8rem;\n      font-weight: 700;\n      margin: 0;\n  }\n  .security-note {\n      padding: 1rem;\n      background: #fef3c7;\n      border-left: 4px solid #f59e0b;\n      border-radius: 6px;\n      font-size: 0.85rem;\n      color: #78350f;\n      margin-top: 1rem;\n  }\n  \n  @media (max-width: 640px) {\n      .analysis-grid {\n          grid-template-columns: 1fr;\n      }\n  }\n  \n  @media (prefers-color-scheme: dark) {\n      .eren-password-tool { \n          background: #1e293b; \n          color: #f8fafc; \n          border-color: #334155; \n      }\n      .eren-password-tool h3 { \n          color: #f8fafc; \n          border-bottom-color: #a78bfa; \n      }\n      .password-input-wrapper input { \n          background: #0f172a; \n          color: #f8fafc; \n          border-color: #475569; \n      }\n      .analysis-card { \n          background: #0f172a; \n          border-left-color: #a78bfa; \n      }\n      .analysis-card h4 { color: #94a3b8; }\n      .analysis-card .value { color: #f8fafc; }\n      .checklist li { background: #0f172a; color: #cbd5e1; }\n      .checklist li.pass { background: #064e3b; color: #6ee7b7; }\n      .checklist li.fail { background: #7f1d1d; color: #fca5a5; }\n      .security-note { background: #451a03; color: #fbbf24; }\n  }\n<\/style>\n\n<div class=\"eren-password-tool\">\n  <h3>\ud83d\udd10 \u015eifre G\u00fc\u00e7l\u00fcl\u00fck Analizi<\/h3>\n  \n  <div class=\"password-input-wrapper\">\n      <input \n          type=\"password\" \n          id=\"password-input\" \n          placeholder=\"\u015eifrenizi buraya yaz\u0131n...\"\n          oninput=\"analyzePassword()\"\n      >\n      <button class=\"toggle-visibility\" onclick=\"togglePassword()\">\ud83d\udc41\ufe0f<\/button>\n  <\/div>\n  \n  <div class=\"strength-meter\">\n      <div class=\"strength-bar\">\n          <div class=\"strength-fill\" id=\"strength-fill\"><\/div>\n      <\/div>\n      <div class=\"strength-label\" id=\"strength-label\">\u015eifre girin&#8230;<\/div>\n  <\/div>\n  \n  <div class=\"analysis-grid\">\n      <div class=\"analysis-card\">\n          <h4>Uzunluk<\/h4>\n          <div class=\"value\" id=\"length-value\">0 karakter<\/div>\n      <\/div>\n      <div class=\"analysis-card\">\n          <h4>Entropi<\/h4>\n          <div class=\"value\" id=\"entropy-value\">0 bit<\/div>\n      <\/div>\n      <div class=\"analysis-card\">\n          <h4>Karakter Havuzu<\/h4>\n          <div class=\"value small\" id=\"charset-value\">&#8211;<\/div>\n      <\/div>\n      <div class=\"analysis-card\">\n          <h4>Olas\u0131 Kombinasyon<\/h4>\n          <div class=\"value small\" id=\"combinations-value\">&#8211;<\/div>\n      <\/div>\n  <\/div>\n  \n  <ul class=\"checklist\" id=\"checklist\">\n      <li class=\"fail\" id=\"check-length\">\u274c En az 12 karakter uzunlu\u011funda<\/li>\n      <li class=\"fail\" id=\"check-lowercase\">\u274c K\u00fc\u00e7\u00fck harf (a-z) i\u00e7eriyor<\/li>\n      <li class=\"fail\" id=\"check-uppercase\">\u274c B\u00fcy\u00fck harf (A-Z) i\u00e7eriyor<\/li>\n      <li class=\"fail\" id=\"check-number\">\u274c Rakam (0-9) i\u00e7eriyor<\/li>\n      <li class=\"fail\" id=\"check-symbol\">\u274c \u00d6zel karakter (!@#$) i\u00e7eriyor<\/li>\n      <li class=\"fail\" id=\"check-common\">\u274c Yayg\u0131n \u015fifrelerden de\u011fil<\/li>\n  <\/ul>\n  \n  <div class=\"crack-time\">\n      <h4>\u23f1\ufe0f Tahmini K\u0131r\u0131lma S\u00fcresi<\/h4>\n      <p class=\"time\" id=\"crack-time\">&#8211;<\/p>\n  <\/div>\n  \n  <div class=\"security-note\">\n      <strong>\ud83d\udd12 Gizlilik G\u00fcvencesi:<\/strong> \u015eifreniz hi\u00e7bir yere g\u00f6nderilmez. T\u00fcm analiz taray\u0131c\u0131n\u0131zda yerel olarak yap\u0131l\u0131r. Bu ara\u00e7 tamamen e\u011fitim ve fark\u0131ndal\u0131k ama\u00e7l\u0131d\u0131r.\n  <\/div>\n<\/div>\n\n<script>\n\/\/ Yayg\u0131n \u015fifreler listesi (basit kontrol)\nconst commonPasswords = [\n    '123456', 'password', '123456789', '12345678', '12345', 'qwerty',\n    'abc123', '111111', 'password1', '1234567', '123123', 'admin',\n    'letmein', 'welcome', 'monkey', 'master', 'dragon', 'login',\n    'princess', 'sunshine', 'iloveyou', 'trustno1', 'football',\n    'shadow', 'michael', 'qwerty123', '654321', 'baseball'\n];\n\nfunction togglePassword() {\n    const input = document.getElementById('password-input');\n    input.type = input.type === 'password' ? 'text' : 'password';\n}\n\nfunction analyzePassword() {\n    const password = document.getElementById('password-input').value;\n    \n    if (!password) {\n        resetAnalysis();\n        return;\n    }\n    \n    \/\/ Karakter t\u00fcrlerini kontrol et\n    const hasLowercase = \/[a-z]\/.test(password);\n    const hasUppercase = \/[A-Z]\/.test(password);\n    const hasNumber = \/[0-9]\/.test(password);\n    const hasSymbol = \/[^A-Za-z0-9]\/.test(password);\n    \n    \/\/ Karakter havuzunu hesapla\n    let charsetSize = 0;\n    let charsetDesc = [];\n    \n    if (hasLowercase) { charsetSize += 26; charsetDesc.push('a-z'); }\n    if (hasUppercase) { charsetSize += 26; charsetDesc.push('A-Z'); }\n    if (hasNumber) { charsetSize += 10; charsetDesc.push('0-9'); }\n    if (hasSymbol) { charsetSize += 32; charsetDesc.push('!@#'); }\n    \n    \/\/ Entropi hesaplama (Shannon)\n    const entropy = password.length * Math.log2(charsetSize || 1);\n    \n    \/\/ Olas\u0131 kombinasyonlar\n    const combinations = Math.pow(charsetSize || 1, password.length);\n    \n    \/\/ G\u00fc\u00e7 skorlamas\u0131\n    let score = 0;\n    const checks = {\n        length: password.length >= 12,\n        lowercase: hasLowercase,\n        uppercase: hasUppercase,\n        number: hasNumber,\n        symbol: hasSymbol,\n        common: !commonPasswords.includes(password.toLowerCase())\n    };\n    \n    \/\/ Her kriter i\u00e7in puan\n    if (checks.length) score += 20;\n    if (checks.lowercase) score += 15;\n    if (checks.uppercase) score += 15;\n    if (checks.number) score += 15;\n    if (checks.symbol) score += 20;\n    if (checks.common) score += 15;\n    \n    \/\/ Uzunluk bonusu\n    if (password.length >= 16) score += 10;\n    if (password.length >= 20) score += 10;\n    \n    \/\/ G\u00f6rsel geri bildirim\n    updateUI(password, score, entropy, charsetSize, charsetDesc, combinations, checks);\n}\n\nfunction updateUI(password, score, entropy, charsetSize, charsetDesc, combinations, checks) {\n    \/\/ G\u00fc\u00e7 \u00e7ubu\u011fu\n    const fill = document.getElementById('strength-fill');\n    const label = document.getElementById('strength-label');\n    \n    fill.style.width = Math.min(score, 100) + '%';\n    \n    if (score < 40) {\n        fill.style.backgroundColor = '#ef4444';\n        label.textContent = '\u26a0\ufe0f \u00c7ok Zay\u0131f';\n        label.style.color = '#ef4444';\n    } else if (score < 60) {\n        fill.style.backgroundColor = '#f59e0b';\n        label.textContent = '\u26a1 Zay\u0131f';\n        label.style.color = '#f59e0b';\n    } else if (score < 80) {\n        fill.style.backgroundColor = '#10b981';\n        label.textContent = '\u2705 \u0130yi';\n        label.style.color = '#10b981';\n    } else {\n        fill.style.backgroundColor = '#8b5cf6';\n        label.textContent = '\ud83d\udd25 \u00c7ok G\u00fc\u00e7l\u00fc';\n        label.style.color = '#8b5cf6';\n    }\n    \n    \/\/ \u0130statistikler\n    document.getElementById('length-value').textContent = password.length + ' karakter';\n    document.getElementById('entropy-value').textContent = entropy.toFixed(1) + ' bit';\n    document.getElementById('charset-value').textContent = charsetDesc.join(', ') || '-';\n    document.getElementById('combinations-value').textContent = formatCombinations(combinations);\n    \n    \/\/ Kontrol listesi\n    updateChecklist(checks);\n    \n    \/\/ K\u0131r\u0131lma s\u00fcresi\n    document.getElementById('crack-time').textContent = calculateCrackTime(combinations);\n}\n\nfunction updateChecklist(checks) {\n    const update = (id, passed) => {\n        const el = document.getElementById(id);\n        el.className = passed ? 'pass' : 'fail';\n        el.textContent = (passed ? '\u2705 ' : '\u274c ') + el.textContent.substring(2);\n    };\n    \n    update('check-length', checks.length);\n    update('check-lowercase', checks.lowercase);\n    update('check-uppercase', checks.uppercase);\n    update('check-number', checks.number);\n    update('check-symbol', checks.symbol);\n    update('check-common', checks.common);\n}\n\nfunction formatCombinations(num) {\n    if (num === Infinity) return '\u221e';\n    if (num < 1e6) return num.toLocaleString('tr-TR');\n    const exp = Math.floor(Math.log10(num));\n    const mantissa = (num \/ Math.pow(10, exp)).toFixed(2);\n    return mantissa + '\u00d710^' + exp;\n}\n\nfunction calculateCrackTime(combinations) {\n    \/\/ Saniyede 10 milyar deneme (modern GPU cluster)\n    const guessesPerSecond = 1e10;\n    const seconds = combinations \/ guessesPerSecond;\n    \n    if (seconds < 0.001) return 'An\u0131nda';\n    if (seconds < 1) return (seconds * 1000).toFixed(0) + ' milisaniye';\n    if (seconds < 60) return seconds.toFixed(1) + ' saniye';\n    if (seconds < 3600) return (seconds \/ 60).toFixed(1) + ' dakika';\n    if (seconds < 86400) return (seconds \/ 3600).toFixed(1) + ' saat';\n    if (seconds < 31536000) return (seconds \/ 86400).toFixed(0) + ' g\u00fcn';\n    \n    const years = seconds \/ 31536000;\n    if (years < 1000) return years.toFixed(0) + ' y\u0131l';\n    if (years < 1e6) return (years \/ 1000).toFixed(0) + ' bin y\u0131l';\n    if (years < 1e9) return (years \/ 1e6).toFixed(0) + ' milyon y\u0131l';\n    if (years < 1e12) return (years \/ 1e9).toFixed(0) + ' milyar y\u0131l';\n    return 'Evren ya\u015f\u0131ndan uzun!';\n}\n\nfunction resetAnalysis() {\n    document.getElementById('strength-fill').style.width = '0%';\n    document.getElementById('strength-label').textContent = '\u015eifre girin...';\n    document.getElementById('strength-label').style.color = '#64748b';\n    document.getElementById('length-value').textContent = '0 karakter';\n    document.getElementById('entropy-value').textContent = '0 bit';\n    document.getElementById('charset-value').textContent = '-';\n    document.getElementById('combinations-value').textContent = '-';\n    document.getElementById('crack-time').textContent = '-';\n    \n    const checks = document.querySelectorAll('.checklist li');\n    checks.forEach(el => {\n        el.className = 'fail';\n        el.textContent = '\u274c ' + el.textContent.substring(2);\n    });\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;\u015eifrenizin ger\u00e7ek g\u00fcc\u00fcn\u00fc \u00f6\u011frenin! Bu ara\u00e7, \u015fifrenizin entropi de\u011ferini hesaplar, olas\u0131 karakter kombinasyonlar\u0131n\u0131 analiz eder ve modern bilgisayarlarla brute force (kaba kuvvet) sald\u0131r\u0131s\u0131na kar\u015f\u0131 tahmini k\u0131r\u0131lma s\u00fcresini g\u00f6sterir. G\u00fcvenli\u011finiz i\u00e7in: \u015eifreniz hi\u00e7bir yere g\u00f6nderilmez, tamamen taray\u0131c\u0131n\u0131zda analiz edilir.&#8221; \ud83d\udd10 \u015eifre G\u00fc\u00e7l\u00fcl\u00fck Analizi \ud83d\udc41\ufe0f \u015eifre girin&#8230; Uzunluk 0 karakter Entropi 0 bit Karakter Havuzu &#8211; Olas\u0131 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"wpai_generated_summary":"","footnotes":""},"class_list":["post-770","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/erendogu.com\/tr\/wp-json\/wp\/v2\/pages\/770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/erendogu.com\/tr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/erendogu.com\/tr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/erendogu.com\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/erendogu.com\/tr\/wp-json\/wp\/v2\/comments?post=770"}],"version-history":[{"count":1,"href":"https:\/\/erendogu.com\/tr\/wp-json\/wp\/v2\/pages\/770\/revisions"}],"predecessor-version":[{"id":774,"href":"https:\/\/erendogu.com\/tr\/wp-json\/wp\/v2\/pages\/770\/revisions\/774"}],"wp:attachment":[{"href":"https:\/\/erendogu.com\/tr\/wp-json\/wp\/v2\/media?parent=770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}