0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

در برنامه های تحت وب در زمان ثبت نام کاربر پسوردی که از کاربر گرفته می شود برای بصورت encrypt شده در پایگاه داده ذحیره می شود، Play Framework برای این کار چه امکاناتی در اختیار قرار می دهد؟

1 پاسخ

+1 امتیاز
قبل توسط (1.1هزار امتیاز)

شما می توانید از هر کتابخانه encryption که در جاوا و Scala موجود است برای اینکار استفاده کنید. برای مثال کتابخانه هایی که الگوریتم MD5 را پیاده سازی کرده اند مناسب می باشند.

برای مثال کتابخانه jbcrypt گزینه مناسبی است، ابتدا باید dependency آن را در فایل build.sbt پروژه اضافه کنید:

libraryDependencies ++= Seq(
  "org.mindrot" % "jbcrypt" % "0.3m"
)

resolvers ++= Seq(
    "jBCrypt Repository" at "http://repo1.maven.org/maven2/org/",
)

سپس برای encrypt کردن از hashpw استفاده کنید:

BCrypt.hashpw(clearString, BCrypt.gensalt());

و برای مقایسه پسورد کاربر در زمان login از متد checkpw استفاده کنید:

BCrypt.checkpw(userEnteredPass, encryptedPassFromDB);

سوالات مشابه

+1 امتیاز
1 پاسخ 434 بازدید
0 امتیاز
1 پاسخ 443 بازدید
+1 امتیاز
2 پاسخ 1.8هزار بازدید
+1 امتیاز
1 پاسخ 442 بازدید
+1 امتیاز
1 پاسخ 497 بازدید
...