希望将用户名和密码存储在数据库中,并且想知道这样做最安全的方法是什么。我知道我必须在某处使用盐,但不确定如何安全地生成它或如何应用它来加密密码。一些示例Python代码将不胜感激。谢谢。 最佳答案 将密码+盐存储为哈希和盐。看看Django是怎么做的:basicdocs和source.他们在数据库中存储$$在单个字符字段中。您还可以将这三个部分存储在单独的字段中。设置密码的功能:defset_password(self,raw_password):importrandomalgo='sha1'salt=get_hexdigest(a
我有兴趣创建一个非常简单、高质量(加密)的随secret码生成器。有没有更好的方法来做到这一点?importos,random,stringlength=13chars=string.ascii_letters+string.digits+'!@#$%^&*()'random.seed=(os.urandom(1024))print''.join(random.choice(chars)foriinrange(length)) 最佳答案 仅供2020年以上遇到此问题的任何人引用。Python3.6+有一个专门用于此目的的secret
我有兴趣创建一个非常简单、高质量(加密)的随secret码生成器。有没有更好的方法来做到这一点?importos,random,stringlength=13chars=string.ascii_letters+string.digits+'!@#$%^&*()'random.seed=(os.urandom(1024))print''.join(random.choice(chars)foriinrange(length)) 最佳答案 仅供2020年以上遇到此问题的任何人引用。Python3.6+有一个专门用于此目的的secret
此代码应该使用盐对密码进行哈希处理。盐和散列密码被保存在数据库中。密码本身不是。鉴于操作的敏感性,我想确保一切都符合犹太教规。importhashlibimportbase64importuuidpassword='test_password'salt=base64.urlsafe_b64encode(uuid.uuid4().bytes)t_sha=hashlib.sha512()t_sha.update(password+salt)hashed_password=base64.urlsafe_b64encode(t_sha.digest()) 最佳答案
此代码应该使用盐对密码进行哈希处理。盐和散列密码被保存在数据库中。密码本身不是。鉴于操作的敏感性,我想确保一切都符合犹太教规。importhashlibimportbase64importuuidpassword='test_password'salt=base64.urlsafe_b64encode(uuid.uuid4().bytes)t_sha=hashlib.sha512()t_sha.update(password+salt)hashed_password=base64.urlsafe_b64encode(t_sha.digest()) 最佳答案
例如,我可以使用我的模板文件名将url'^/accounts/password/reset/$'指向django.contrib.auth.views.password_reset上下文,但我认为需要发送更多上下文详细信息。我需要确切知道要为每个密码重置和更改View添加什么上下文。 最佳答案 如果您查看django.contrib.auth.views.password_reset的来源你会看到它使用了RequestContext.结果是,您可以使用上下文处理器来修改上下文,这可能允许您注入(inject)您需要的信息。b-lis
例如,我可以使用我的模板文件名将url'^/accounts/password/reset/$'指向django.contrib.auth.views.password_reset上下文,但我认为需要发送更多上下文详细信息。我需要确切知道要为每个密码重置和更改View添加什么上下文。 最佳答案 如果您查看django.contrib.auth.views.password_reset的来源你会看到它使用了RequestContext.结果是,您可以使用上下文处理器来修改上下文,这可能允许您注入(inject)您需要的信息。b-lis
Python是否具有使用密码对字符串进行编码/解码的内置简单方法?像这样的东西:>>>encode('JohnDoe',password='mypass')'sjkl28cn2sx0'>>>decode('sjkl28cn2sx0',password='mypass')'JohnDoe'所以字符串“JohnDoe”被加密为“sjkl28cn2sx0”。要获得原始字符串,我将使用key“mypass”“解锁”该字符串,这是我源代码中的密码。我希望这是我可以使用密码加密/解密Word文档的方式。我想将这些加密字符串用作URL参数。我的目标是混淆,而不是强大的安全性;没有任何关键任务被编码。
Python是否具有使用密码对字符串进行编码/解码的内置简单方法?像这样的东西:>>>encode('JohnDoe',password='mypass')'sjkl28cn2sx0'>>>decode('sjkl28cn2sx0',password='mypass')'JohnDoe'所以字符串“JohnDoe”被加密为“sjkl28cn2sx0”。要获得原始字符串,我将使用key“mypass”“解锁”该字符串,这是我源代码中的密码。我希望这是我可以使用密码加密/解密Word文档的方式。我想将这些加密字符串用作URL参数。我的目标是混淆,而不是强大的安全性;没有任何关键任务被编码。
我一直在研究Java字符串加密技术,不幸的是我没有找到任何好的教程,如何在Java中使用SHA-512对字符串进行哈希处理;我阅读了一些关于MD5和Base64的博客,但它们并没有我想的那么安全(实际上,Base64不是一种加密技术),所以我更喜欢SHA-512。 最佳答案 您可以将其用于SHA-512(密码散列不是一个好的选择)。importjava.nio.charset.StandardCharsets;importjava.security.MessageDigest;importjava.security.NoSuchAl