BCrypt āđ€āļ›āđ‡āļ™āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļŪāļŠāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āđāļĨāļ°āđ„āļĨāļšāļĢāļēāļĢāļĩāļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāļ—āļĩāđˆāđƒāļŠāđ‰āļāļąāļ™āļ­āļĒāđˆāļēāļ‡āđāļžāļĢāđˆāļŦāļĨāļēāļĒāđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļšāđ‡āļāđ€āļ­āļ™āļ”āđŒāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāđƒāļ™āļāļēāļĢāļˆāļąāļ”āđ€āļāđ‡āļšāļ—āļĩāđˆāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļœāļđāđ‰āđƒāļŠāđ‰ āļ­āļ­āļāđāļšāļšāļ„āļĢāļąāđ‰āļ‡āđāļĢāļāđ‚āļ”āļĒ Niels Provos āđāļĨāļ° David MaziÃĻres āļŠāļģāļŦāļĢāļąāļšāļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢ OpenBSD āđƒāļ™āļ›āļĩ 1999 āđāļĨāļ°āđ„āļ”āđ‰āļĢāļąāļšāļ„āļ§āļēāļĄāļ™āļīāļĒāļĄāļ­āļĒāđˆāļēāļ‡āļĄāļēāļāđƒāļ™āļŠāļļāļĄāļŠāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ—āļĩāđˆāđāļ‚āđ‡āļ‡āđāļāļĢāđˆāļ‡āđāļĨāļ°āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ›āļĢāļąāļšāļ•āļąāļ§āļ‚āđ‰āļēāļĄāđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļ•āđˆāļēāļ‡āđ†

āđƒāļ™āļšāļĢāļīāļšāļ—āļ‚āļ­āļ‡āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļšāđ‡āļāđ€āļ­āļ™āļ”āđŒ āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡āļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļĄāļĩāļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡ āļŦāļ™āļķāđˆāļ‡āđƒāļ™āđ€āļŦāļ•āļļāļœāļĨāļŦāļĨāļąāļāļ—āļĩāđˆāļ­āļĒāļđāđˆāđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡āļāļēāļĢāđƒāļŠāđ‰āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļŪāļŠāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āđ€āļŠāđˆāļ™ BCrypt āļ„āļ·āļ­āļāļēāļĢāļ›āļāļ›āđ‰āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļœāļđāđ‰āđƒāļŠāđ‰āļ—āļĩāđˆāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ­āđˆāļ­āļ™āļˆāļēāļāļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āđ‚āļ”āļĒāđ„āļĄāđˆāđ„āļ”āđ‰āļĢāļąāļšāļ­āļ™āļļāļāļēāļ• āđāļĨāļ°āļ›āđ‰āļ­āļ‡āļāļąāļ™āļāļēāļĢāļĨāļ°āđ€āļĄāļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ­āļēāļˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™ BCrypt āđƒāļŠāđ‰āļāļēāļĢāļœāļŠāļĄāļœāļŠāļēāļ™āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ€āļ­āļāļĨāļąāļāļĐāļ“āđŒāļ‚āļ­āļ‡āđ€āļ—āļ„āļ™āļīāļ„āđāļŪāļŠāđāļšāļšāļ›āļĢāļąāļšāđ„āļ”āđ‰ āļāļēāļĢāđ€āļāļĨāļ·āļ­ āđāļĨāļ°āļāļēāļĢāđ€āļŠāļĢāļīāļĄāļ„āļ§āļēāļĄāđāļ‚āđ‡āļ‡āđāļāļĢāđˆāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļ āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āđāļŪāļŠāļ—āļĩāđˆāđāļ‚āđ‡āļ‡āđāļāļĢāđˆāļ‡āđāļĨāļ°āļ›āļĨāļ­āļ”āļ āļąāļĒ āđāļĨāļ°āļ›āđ‰āļ­āļ‡āļāļąāļ™āļāļēāļĢāđ‚āļˆāļĄāļ•āļĩāđāļšāļšāļšāļąāļ‡āļ„āļąāļšāļŦāļĢāļ·āļ­āļāļēāļĢāđ‚āļˆāļĄāļ•āļĩāļˆāļēāļāļžāļˆāļ™āļēāļ™āļļāļāļĢāļĄ

āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāđāļŪāļŠāđāļšāļšāļ›āļĢāļąāļšāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ„āļ”āđ‰āļ‚āļ­āļ‡ BCrypt āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ™āļąāļāļžāļąāļ’āļ™āļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļžāļīāđˆāļĄāļ•āđ‰āļ™āļ—āļļāļ™āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ‚āļ­āļ‡āļ­āļąāļĨāļāļ­āļĢāļīāļ˜āļķāļĄāđāļŪāļŠāļ•āļēāļĄāļ„āļ§āļēāļĄāļāđ‰āļēāļ§āļŦāļ™āđ‰āļēāļ‚āļ­āļ‡āļžāļĨāļąāļ‡āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ āļ”āđ‰āļ§āļĒāļāļēāļĢāļĢāļ§āļĄāļ›āļąāļˆāļˆāļąāļĒāļāļēāļĢāļ—āļģāļ‡āļēāļ™ (āļŦāļĢāļ·āļ­āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļ§āđˆāļēāļ›āļąāļˆāļˆāļąāļĒāļ”āđ‰āļēāļ™āļ•āđ‰āļ™āļ—āļļāļ™) BCrypt āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ›āļĢāļąāļšāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāđāļŪāļŠāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļŠāļĄāļ”āļļāļĨāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ›āļĢāļąāļšāļ•āļąāļ§āļ™āļĩāđ‰āļ—āļģāđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāđ„āļ”āđ‰āļ§āđˆāļē BCrypt āļĒāļąāļ‡āļ„āļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĄāđ‰āļ§āđˆāļēāļ—āļĢāļąāļžāļĒāļēāļāļĢāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļˆāļ°āļĄāļĩāļāļēāļĢāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡āđ€āļĄāļ·āđˆāļ­āđ€āļ§āļĨāļēāļœāđˆāļēāļ™āđ„āļ› āđ‚āļ”āļĒāđƒāļŦāđ‰āļāļēāļĢāļĢāļąāļāļĐāļēāļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļĢāļ°āļ”āļąāļšāļŠāļđāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļˆāļąāļ”āđ€āļāđ‡āļšāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āđƒāļ™āļĢāļ°āļĒāļ°āļĒāļēāļ§

āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ—āļĩāđˆāļŠāļģāļ„āļąāļāļ­āļĩāļāļ›āļĢāļ°āļāļēāļĢāļŦāļ™āļķāđˆāļ‡āļ—āļĩāđˆ BCrypt āļĄāļ­āļšāđƒāļŦāđ‰āļāđ‡āļ„āļ·āļ­āļāļēāļĢāļ™āļģāđ€āļ­āļēāđ€āļāļĨāļ·āļ­āļĄāļēāđƒāļŠāđ‰āđƒāļ™āļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāđāļŪāļŠ Salt āļ„āļ·āļ­āļ‚āđ‰āļ­āļĄāļđāļĨāđāļšāļšāļŠāļļāđˆāļĄāļ—āļĩāđˆāļĢāļ§āļĄāļāļąāļšāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ°āđāļŪāļŠ Salt āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āļˆāļ°āļ–āļđāļāļˆāļąāļ”āđ€āļāđ‡āļšāđ„āļ§āđ‰āļ‚āđ‰āļēāļ‡āđ† āļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļ—āļĩāđˆāđāļŪāļŠ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāļ§āđˆāļēāđāļŪāļŠāļ‚āļ­āļ‡āļĢāļŦāļąāļŠāļœāđˆāļēāļ™āđāļ•āđˆāļĨāļ°āļĢāļēāļĒāļāļēāļĢāđ„āļĄāđˆāļ‹āđ‰āļģāļāļąāļ™ āđāļĄāđ‰āļ§āđˆāļēāļœāļđāđ‰āđƒāļŠāđ‰āļŠāļ­āļ‡āļ„āļ™āļˆāļ°āđ€āļĨāļ·āļ­āļāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāđ‡āļ•āļēāļĄ āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ™āļĩāđ‰āļŠāđˆāļ§āļĒāļ›āđ‰āļ­āļ‡āļāļąāļ™āļāļēāļĢāđ‚āļˆāļĄāļ•āļĩāļ•āļēāļĢāļēāļ‡āļŠāļēāļĒāļĢāļļāđ‰āļ‡ āļ‹āļķāđˆāļ‡āļžāļĒāļēāļĒāļēāļĄāļ„āļģāļ™āļ§āļ“āđāļŪāļŠāļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļœāļŠāļĄāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰āđ‚āļ”āļĒāđƒāļŠāđ‰āļ•āļēāļĢāļēāļ‡āļ„āđˆāļēāđāļŪāļŠāļ—āļĩāđˆāļ„āļģāļ™āļ§āļ“āļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļē

BCrypt āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ­āļ­āļāđāļšāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āļ—āļąāđ‰āļ‡ CPU-bound āđāļĨāļ° memory-bound āļ—āļģāđƒāļŦāđ‰āļ—āļ™āļ—āļēāļ™āļ•āđˆāļ­āļāļēāļĢāđ‚āļˆāļĄāļ•āļĩāđāļšāļš brute-force āļ—āļĩāđˆāđƒāļŠāđ‰āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāđāļšāļšāļ‚āļ™āļēāļ™ āđ€āļŠāđˆāļ™ GPU āļŦāļĢāļ·āļ­āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāđāļšāļšāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡ āđ€āļŠāđˆāļ™ FPGA āļŦāļĢāļ·āļ­āļŠāļīāļ› ASIC āļ™āļ­āļāļˆāļēāļāļ™āļĩāđ‰ BCrypt āļĒāļąāļ‡āļ—āļ™āļ—āļēāļ™āļ•āđˆāļ­āļāļēāļĢāđ‚āļˆāļĄāļ•āļĩāļ•āļēāļĄāđ€āļ§āļĨāļē āđ‚āļ”āļĒāļ—āļĩāđˆāļœāļđāđ‰āđ‚āļˆāļĄāļ•āļĩāļžāļĒāļēāļĒāļēāļĄāļ›āļĢāļ°āđ€āļĄāļīāļ™āļ„āļĩāļĒāđŒāļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāļ•āļēāļĄāđ€āļ§āļĨāļēāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ‚āļ­āļ‡āļ­āļąāļĨāļāļ­āļĢāļīāļ—āļķāļĄ

āļ—āļĩāđˆāđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ no-codeAppMaster āđ€āļĢāļēāļĢāļąāļšāļ—āļĢāļēāļšāļ–āļķāļ‡āļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļāļēāļĢāļ›āđ‰āļ­āļ‡āļāļąāļ™āļ”āđ‰āļ§āļĒāļĢāļŦāļąāļŠāļœāđˆāļēāļ™ āđāļĨāļ°āļ­āļēāļĻāļąāļĒāļ„āļļāļ“āļĨāļąāļāļĐāļ“āļ°āļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ—āļĩāđˆāđāļ‚āđ‡āļ‡āđāļāļĢāđˆāļ‡āļ‚āļ­āļ‡ BCrypt āđ€āļžāļ·āđˆāļ­āļĢāļąāļšāļĢāļ­āļ‡āļāļēāļĢāļˆāļąāļ”āđ€āļāđ‡āļšāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰āļ­āļĒāđˆāļēāļ‡āļ›āļĨāļ­āļ”āļ āļąāļĒ āđƒāļ™āļāļēāļ™āļ°āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāļ‚āļ­āļ‡āļ‚āđ‰āļ­āđ€āļŠāļ™āļ­ Backend-as-a-Service āļ‚āļ­āļ‡āđ€āļĢāļē BCrypt āļĄāļ­āļšāļāļēāļĢāļĢāļąāļāļĐāļēāļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ”āđ‰āļ§āļĒāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļ­āļĩāļāļŠāļąāđ‰āļ™āļŦāļ™āļķāđˆāļ‡āđƒāļŦāđ‰āļāļąāļšāļāļēāļĢāļŠāļ·āđˆāļ­āļŠāļēāļĢāļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāļ•āļąāđ‰āļ‡āđāļ•āđˆāļ•āđ‰āļ™āļ—āļēāļ‡āļ–āļķāļ‡āļ›āļĨāļēāļĒāļ—āļēāļ‡āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđ‚āļ”āļĒāđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļ‚āļ­āļ‡āđ€āļĢāļē

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđƒāļŦāļĄāđˆāļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§āļ‚āļ­āļ‡ AppMaster āđƒāļŠāđ‰āļ„āļļāļ“āļĨāļąāļāļĐāļ“āļ°āđāļŪāļŠāđāļšāļšāļ›āļĢāļąāļšāđ„āļ”āđ‰āļ‚āļ­āļ‡ BCrypt āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĄāļĩāļ§āļīāļ˜āļĩāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđƒāļ™āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļąāļˆāļˆāļąāļĒāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļĄāļ·āđˆāļ­āđ€āļ§āļĨāļēāļœāđˆāļēāļ™āđ„āļ› āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ„āļģāļ™āļ§āļ“āļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ āļ‹āļķāđˆāļ‡āļŦāļĄāļēāļĒāļ„āļ§āļēāļĄāļ§āđˆāļēāļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđƒāļŦāļĄāđˆ āļ›āļąāļˆāļˆāļąāļĒāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļŠāļēāļĄāļēāļĢāļ–āļ­āļąāļ›āđ€āļ”āļ•āđ„āļ”āđ‰ āļ”āļąāļ‡āļ™āļąāđ‰āļ™āļˆāļķāļ‡āđ€āļ›āđ‡āļ™āļāļēāļĢāļ›āđ‰āļ­āļ‡āļāļąāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āđƒāļ™āļ­āļ™āļēāļ„āļ•

āđ‚āļ”āļĒāļŠāļĢāļļāļ› BCrypt āđ€āļ›āđ‡āļ™āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļŪāļŠāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļĒāļ­āļĄāļĢāļąāļšāļ­āļĒāđˆāļēāļ‡āļāļ§āđ‰āļēāļ‡āļ‚āļ§āļēāļ‡āđāļĨāļ°āļĄāļĩāļ„āļ§āļēāļĄāļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āļŠāļđāļ‡āđƒāļ™āļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļšāđ‡āļāđ€āļ­āļ™āļ”āđŒ āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ‚āļąāđ‰āļ™āļŠāļđāļ‡ āđ€āļŠāđˆāļ™ āļāļēāļĢāđāļŪāļŠāđāļšāļšāļ›āļĢāļąāļšāđ„āļ”āđ‰ āļāļēāļĢāđ€āļāļĨāļ·āļ­ āđāļĨāļ°āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļĩāđˆāļœāļđāļāļāļąāļšāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ āļ—āļģāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāļŠāļģāļ„āļąāļāđƒāļ™āđ€āļŸāļĢāļĄāđ€āļ§āļīāļĢāđŒāļāđāļšāđ‡āļāđ€āļ­āļ™āļ”āđŒāđāļĨāļ°āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĢāđˆāļ§āļĄāļŠāļĄāļąāļĒ āļ”āđ‰āļ§āļĒāļāļēāļĢāļĢāļ§āļĄ BCrypt āđ€āļ‚āđ‰āļēāļāļąāļšāđ€āļ§āļīāļĢāđŒāļāđ‚āļŸāļĨāļ§āđŒāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļšāļ™āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ AppMaster āđ€āļĢāļēāļĄāļļāđˆāļ‡āļĄāļąāđˆāļ™āļ—āļĩāđˆāļˆāļ°āļ™āļģāđ€āļŠāļ™āļ­āđ‚āļ‹āļĨāļđāļŠāļąāļ™āđāļšāđ‡āļāđ€āļ­āļ™āļ”āđŒāļ—āļĩāđˆāļ›āļĨāļ­āļ”āļ āļąāļĒ āđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āđ„āļ”āđ‰ āđāļĨāļ°āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļŠāļģāļŦāļĢāļąāļšāļ˜āļļāļĢāļāļīāļˆāļ—āļļāļāļ‚āļ™āļēāļ” āļ”āđ‰āļ§āļĒāļ›āļĢāļ°āļ§āļąāļ•āļīāļ—āļĩāđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļžāļīāļŠāļđāļˆāļ™āđŒāđāļĨāđ‰āļ§āļ‚āļ­āļ‡ BCrypt āđƒāļ™āļāļēāļĢāļĢāļąāļšāļĢāļ­āļ‡āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡āļĢāļŦāļąāļŠāļœāđˆāļēāļ™ āļœāļđāđ‰āđƒāļŠāđ‰āļŠāļēāļĄāļēāļĢāļ–āđ„āļ§āđ‰āļ§āļēāļ‡āđƒāļˆāđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļ—āļĩāđˆāđāļ‚āđ‡āļ‡āđāļāļĢāđˆāļ‡ āļ›āļĢāļąāļšāļ‚āļ™āļēāļ”āđ„āļ”āđ‰ āđāļĨāļ°āļĢāļ­āļ‡āļĢāļąāļšāļ­āļ™āļēāļ„āļ•āļ‚āļ­āļ‡ AppMaster āđ€āļžāļ·āđˆāļ­āļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ„āļ§āļēāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļ™āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļšāđ‡āļāđ€āļ­āļ™āļ”āđŒāļ‚āļ­āļ‡āļžāļ§āļāđ€āļ‚āļē