htpasswd Oluşturucu — bcrypt, Apache MD5 (apr1), Basic Auth
bcrypt, Apache MD5 (apr1), SHA-1 ve daha fazlasıyla htpasswd girdisi oluşturun. Apache, nginx ve Docker için yapıştırmaya hazır yapılandırma alın. Tarayıcınızda %100 çalışır — yükleme yok.
Mevcut bir karmayı doğrula
htpasswd Dosyası Nedir?
Bir .htpasswd dosyası, HTTP Temel Kimlik Doğrulama tarafından kullanılan kimlik bilgilerini depolar. Her satır tek bir kullanıcıadı:karma çiftinden oluşur; karma, şifrenin tek yönlü bir özetidir — düz metin asla saklanmaz. Web sunucuları, korunan bir URL'ye kimin erişebileceğine karar vermek için bu dosyayı okur. Apache'de bir .htaccess dosyası (ya da bir <Directory> bloğu) .htpasswd dosyasına başvurur ve sayfa sunulmadan önce tarayıcıdan kullanıcı adı ve şifre ister.
Karma biçimi, hangi algoritmanın ürettiğine bağlıdır. Apache'nin htpasswd aracı birkaç seçenek sunabilir: bcrypt ($2y$ ile başlayan satırlar) en güçlü seçenek olup Apache, Docker Registry ve Caddy için önerilir; apr1 (Apache MD5, $apr1$ ile başlar) en taşınabilir seçenek olup nginx için güvenli varsayılandır; SHA-1 ({SHA} ile başlar) tuzsuz olup güvensiz kabul edilir; crypt (geleneksel DES) eskiden kalmadır ve parolayı 8 karakterde keser; düz metin ise parolayı açık metin olarak saklar, üretimde asla kullanılmamalıdır.
Bu oluşturucu tamamen tarayıcınızda çalışır — hiçbir kullanıcı adı, şifre veya karma yüklenmez. Girdinizle birlikte güçlü bir şifreye ihtiyaç duyarsanız Rastgele Şifre Oluşturucu aracımızı kullanın. Authorization: Basic başlığını elle oluşturmak için kimlik bilgisi yalnızca base64(kullanıcı:şifre) değeridir; bunu Base64 Kodlayıcı aracımızla üretebilirsiniz. Uç noktanız korunduğunda, cURL Komut Oluşturucu aracımızla komut satırından test edin.
# Apache htpasswd CLI equivalents (apache2-utils / httpd-tools) # bcrypt entry, printed to stdout (recommended; -B = bcrypt, -n = no file, -b = password on CLI) htpasswd -Bbn admin 's3cret' # → admin:$2y$10$N9qo8uLOickgx2ZMRZoMye... # apr1 (Apache MD5) entry, portable for nginx — no apache2-utils needed printf "admin:$(openssl passwd -apr1 's3cret')\n" # → admin:$apr1$k3l4Hj9.$qN8... # Append a user to an existing file from the shell htpasswd -B /etc/apache2/.htpasswd alice # Note: nginx delegates bcrypt to the system crypt(); on Alpine/musl or old # glibc that fails — prefer apr1 for nginx to stay portable.
Temel Özellikler
Birden Fazla Karma Algoritması
bcrypt ($2y$), apr1 / Apache MD5 ($apr1$) ve SHA-1 ({SHA}) girdilerini oluşturun; ayrıca test amacıyla düz metin seçeneği de mevcuttur. Her biri, formatın desteklediği durumlarda yeni bir kriptografik tuz kullanır.
Oluştur ve Doğrula
Yeni girdiler oluşturun veya mevcut olanları doğrulayın. Saklanan bir kullanıcı:karma satırını ve aday şifreyi yapıştırarak anında eşleşip eşleşmediklerini doğrulayın — üretimdeki bir 401 hatasını ayıklamak için idealdir.
Sunucuya Göre Seçim
Apache, nginx, Docker veya Caddy seçin; doğru algoritma otomatik olarak belirlenir — desteklendiği yerlerde bcrypt, nginx taşınabilirliği için apr1 — bu sayede sessiz crypt() hatalarından kaçınırsınız.
Yapıştırmaya Hazır Yapılandırma Blokları
Apache .htaccess, nginx auth_basic, Docker, Kubernetes ingress-nginx, Caddy ve Traefik için altı kopyalamaya hazır yapılandırma parçacığı alın; hepsi oluşturduğunuz .htpasswd girdisiyle zaten ilişkilendirilmiştir.
%100 İstemci Taraflı
Tüm karma işlemleri tarayıcınızda Web Crypto ve paketlenmiş bir bcrypt uygulaması aracılığıyla yerel olarak gerçekleşir. Hiçbir kullanıcı adı, şifre veya karma bir sunucuya gönderilmez; böylece üretim kimlik bilgilerini gizlilikle oluşturabilirsiniz.
Örnekler
bcrypt girdisi (önerilen)
admin:$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
$2y$ öneki ve maliyet 10 içeren bir bcrypt girdisi. Bu en güçlü, en taşınabilir formattır — Apache, Docker Registry, Caddy ve Traefik için kullanın.
apr1 girdisi (taşınabilir nginx)
admin:$apr1$kl3H9j2.$qN8vY7tLp2mZ0xW5cR4fK1
$apr1$ işaretçisinin ardından 8 karakterlik tuz içeren Apache MD5 (apr1). nginx için güvenli varsayılan; bcrypt doğrulaması güvenilmez bir sistem crypt() işlevine bağımlıdır.
SHA-1 girdisi (eskiden kalan)
admin:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g= Bir {SHA} girdisi, tuzsuz bir SHA-1 özetinin base64 kodlamasıdır. Apache ve nginx tarafından kabul edilir ancak tuzsuz ve güvensizdir — yalnızca eski uyumluluk için dahil edilmiştir.
Authorization: Basic başlığı
Authorization: Basic YWRtaW46czNjcmV0
Aynı kullanıcı için istemci taraflı kimlik bilgisi: base64('admin:s3cret'). .htpasswd dosyası yazmadan kimlik doğrulamak için bu başlığı curl -H ile veya Postman'de gönderin.
Çok kullanıcılı .htpasswd dosyası
admin:$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy alice:$2y$10$3bQ8xY7tLp2mZ0xW5cR4fO9vK1jH6sD2nG8aQ5wE3rT7uI4oP1cm bob:$apr1$mZ0xW5cR$4fK1jH6sD2nG8aQ5wE3rT2
Her kullanıcı için bir kullanıcıadı:karma satırı. Aynı dosyada algoritmalar karıştırılabilir — burada üç kullanıcı için iki bcrypt ve bir apr1 girdisi bir arada bulunmaktadır.
Nasıl Kullanılır
- 1
Sunucu ve Algoritmayı Yapılandırın
Hedef sunucunuzu seçin (Apache, nginx, Docker, Caddy). Doğru algoritma otomatik olarak belirlenir — Apache/Docker/Caddy için bcrypt, taşınabilir nginx için apr1 — ancak bunu değiştirip bcrypt maliyetini ayarlayabilirsiniz.
- 2
Karmayı Oluşturun
Bir kullanıcı adı ve şifre girin (ya da Rastgele şifre düğmesine tıklayın), ardından Oluştur'a tıklayın. Karma, yeni bir rastgele tuzla yerel olarak hesaplanır. Yeni bir girdi oluşturmak için tuzu istediğiniz zaman yeniden oluşturabilirsiniz.
- 3
Girdiyi Kopyalayın
.htpasswd dosyanız için kullanıcı:karma satırını, kabuk için echo >> ekleme komutunu veya curl ve Postman için Authorization: Basic başlığını kopyalayın.
- 4
Yapılandırmayı Dağıtın
Oluşturulan yapılandırma bloğunu Apache .htaccess dosyanıza, nginx sunucu bloğuna, Docker, Kubernetes ingress, Caddy veya Traefik yapılandırmasına yapıştırın, .htpasswd dosyanıza işaret edin ve sunucuyu yeniden yükleyin.
Yaygın Kullanım Senaryoları
- Apache Dizin Koruması
- Bir .htaccess dosyası ve AuthUserFile yönergesi kullanarak bir klasörü HTTP Temel Kimlik Doğrulama ile kilitleyin. bcrypt girdisini ve oluşturulan Apache yapılandırma bloğunu ekleyerek herhangi bir yolda oturum açma zorunluluğu getirin.
- nginx auth_basic
- Bir konum veya sunucu bloğunu auth_basic ve auth_basic_user_file ile koruyun. Alpine, Debian ve diğer temel imajlarda doğrulamanın güvenilir şekilde çalışması için apr1 formatını kullanın.
- Docker Registry
- Özel bir Docker Registry yalnızca bcrypt htpasswd girdilerini kabul eder. htpasswd -Bbn ile bir $2y$ satırı oluşturun, registry konteynerine bağlayın ve docker login ile kimlik doğrulayın.
- Kubernetes ingress-nginx
- Bir ingress yolunu kapıya almak için .htpasswd dosyanızdan basic-auth Secret'ı oluşturun ve nginx.ingress.kubernetes.io/auth-type ile auth-secret ek açıklamalarıyla referans gösterin.
- Caddy ve Traefik
- Caddy'nin basic_auth yönergesi ve Traefik'in basicauth ara katman yazılımı bcrypt karmalarını bekler. Oluşturulan girdiyi doğrudan Caddyfile'ınıza veya Traefik etiketlerine/dinamik yapılandırmasına yapıştırın.
- curl ve Postman Yetkilendirme Başlığı
- Hızlı testler için dosyayı tamamen atlayın: kimlik bilgilerini doğrudan göndermek için Authorization: Basic başlığını kopyalayın. curl -H bayrağına veya bir Postman isteğine ekleyerek korunan bir uç noktayı test edin.
Teknik Detaylar
- bcrypt ($2y$)
- Ayarlanabilir bir maliyet faktörüne sahip Blowfish şifresine dayalı uyarlanabilir, tuzlu bir karma. Her girdi, rastgele 16 baytlık bir tuz ve maliyeti içerir; böylece aynı şifreler farklı karmalar üretir. Not: bcrypt, şifreyi 72 baytla sınırlar — bu sınırın ötesindeki karakterler yoksayılır.
- apr1 (Apache MD5)
- Apache'nin tekrarlı, tuzlu MD5 çeşidi ($apr1$ + 8 karakterli tuz). 1.000 MD5 turu çalıştırır; bu, bcrypt'in uyarlanabilir maliyetinden çok daha zayıftır, ancak Apache ve nginx tarafından yerel olarak uygulanması nedeniyle platformlar ve temel imajlar arasında en taşınabilir format olmayı sürdürür.
- SHA-1 ve crypt
- SHA-1 girdileri ({SHA} + base64 özeti) tuzsuz olduğundan aynı şifreler aynı karmaları verir ve gökkuşağı tablolarına karşı savunmasızdır — yalnızca eski uyumluluk için dahil edilmiştir. Geleneksel crypt (DES) daha da zayıftır ve parolaları 8 karakterde sessizce keser.
- Tuz ve İterasyonlar
- Tuzlama, her karmayı benzersiz kılarak önceden hesaplanmış (gökkuşağı tablosu) saldırıları engeller. bcrypt, yapılandırılabilir maliyetle 128 bitlik rastgele tuz kullanır; apr1, 1.000 sabit iterasyonla 8 karakterlik tuz kullanır. Aynı şifre için farklı geçerli bir karma oluşturmak amacıyla Tuzu yenile seçeneğini kullanın.
- Base64 ve UTF-8 İşleme
- Şifreler karmaya dönüştürülmeden önce UTF-8 baytları olarak kodlanır; bu sayede ASCII dışı karakterler tutarlı şekilde işlenir. Authorization: Basic başlığı, ham UTF-8 kullanıcıadı:şifre baytlarının base64 kodlamasıdır; bu, sunucuların alıcı tarafta çözdüğü değerle eşleşir.
- Dürüstlük Notları ve Uyarılar
- Oluşturulan karmalar yerel olarak hesaplanır ve canlı bir sunucuda doğrulanmaz. Kopyalanan girdiler ve indirilen .htpasswd dosyaları, düz metin-karma biçiminde panonuza ve diskinize iner — bunları gizli bilgi gibi ele alın, dosya izinlerini kısıtlayın ve üretim yapılandırmasına yapıştırdıktan sonra panonuzu temizleyin.
En İyi Uygulamalar
- Desteklendiği Her Yerde bcrypt Tercih Edin
- Apache, Docker, Caddy ve Traefik için bcrypt ($2y$) kullanın — tuzlu, uyarlanabilir ve apr1 veya SHA-1'den çok daha güçlüdür. apr1'i yalnızca bcrypt'in sistem crypt() bağımlılığının güvenilmez hale getirdiği nginx için saklayın.
- Dosyayı Web Kökünün Dışında Saklayın
- .htpasswd'yi, HTTP üzerinden indirilip açığa çıkmaması için sunulan herhangi bir dizinin dışında tutun. chmod 640 olarak ayarlayın ve web sunucusu kullanıcısına ait yapın, böylece sunucu okuyabilirken diğer hesaplar okuyamaz.
- Her Zaman HTTPS Üzerinden Sunun
- Temel Kimlik Doğrulama, kimlik bilgilerini her istekte tersine çevrilebilir base64 olarak iletir. TLS olmadan, ağ yolundaki herkes şifreyi okuyabilir. Korunan uç noktanın önünde TLS'yi sonlandırın — asla düz HTTP'de Temel Kimlik Doğrulama etkinleştirmeyin.
- Benzersiz ve Güçlü Şifreler Kullanın
- Her hesabın, hizmetler arasında yeniden kullanılmayan yüksek entropili kendi şifresi olmalıdır. Rastgele Şifre Oluşturucu aracımızla bir tane oluşturun ve elle bulmak yerine bir parola yöneticisinde saklayın.
Sıkça Sorulan Sorular
bcrypt mı apr1 mi — hangisini seçmeliyim?
nginx, bcrypt'i destekliyor mu?
nginx hatası `crypt_r() failed (22: Invalid argument)` nasıl düzeltilir?
.htpasswd dosyasını nereye koymalıyım ve izinleri ne olmalı?
.htaccess / nginx'te Temel Kimlik Doğrulama nasıl yapılandırılır?
Şifrelerim herhangi bir yere yükleniyor mu?
bcrypt'teki $2a$, $2b$ ve $2y$ arasındaki fark nedir?
Hangi bcrypt maliyetini kullanmalıyım?
htpasswd ile Authorization: Basic başlığı arasındaki fark nedir?
apache2-utils kurulu değil — htpasswd girdisi nasıl oluştururum?
htpasswd -B, -Bbn, -bnB bayrakları ne anlama gelir?
Docker Registry neden bcrypt gerektirir?
Temel Kimlik Doğrulama güvenli midir?
İlgili Araçlar
Tüm araçları görüntüleyin →cURL Komut Oluşturucu ve Yapılandırıcı
Web & API
Tarayıcınızda curl komutları oluşturun — yöntem, başlık, kimlik doğrulama ve gövde ayarlayın, anında kopyalamaya hazır komut alın. Bearer, POST JSON, dosya yükleme için ön ayarlar. Ücretsiz, gizli, kayıt gerektirmez.
Sayı Tabanı Dönüştürücü — Binary, Hex, Decimal ve Octal
Dönüştürme Araçları
Binary, hex, decimal, octal ve herhangi bir taban (2-36) arasında anında dönüştürün. Ücretsiz ve gizli — tüm işlem tarayıcınızda yapılır.
Base64 Çözücü ve Kodlayıcı
Kodlama ve Biçimlendirme
Base64'ü ücretsiz çevrimiçi kodlayın ve çözün. Tam UTF-8 ve emoji desteğiyle gerçek zamanlı dönüştürme. %100 tarayıcıda — kayıt gerekmez.
Harf Dönüştürücü — UPPER, lower, camelCase ve Daha Fazlası
Metin İşleme
Metni UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE ve 6 biçim daha arasında anında dönüştürün. Ücretsiz, çevrimiçi, kayıt yok.
Renk Dönüştürücü — HEX, RGB, HSL & OKLCH
Dönüştürme Araçları
HEX'i RGB, HSL, OKLCH, OKLAB ve CMYK biçimlerine tarayıcınızda dönüştürün — herhangi bir biçimi tek tıkla kopyalayın. Ücretsiz, kayıt yok, renkleriniz sayfadan asla çıkmaz.
Crontab Oluşturucu ve Cron İfadesi Üretici
Tarih ve Saat
Cron ifadelerini tarayıcıda oluşturun, doğrulayın ve çözümleyin. Yerel saatte veya UTC olarak canlı çalışma önizlemesi. POSIX 5 alanlı söz dizimi, hazır şablonlar ve sade açıklama. Ücretsiz ve gizli.