哈希值和加盐值

2024-01-11

我正在开发一个小型网络应用程序,可以在内部对用户进行身份验证。一旦用户通过身份验证,我的 Web 应用程序就会将一些信息(例如用户 ID 和人员姓名)传递给第三方 Web 应用程序。第三方开发人员建议我们对这些值进行哈希和加盐。

原谅我的无知,但这到底意味着什么?

我正在用 Java 编写应用程序。因此,我计划做的是使用 Apache Commons Digest Utils SHA512 将用户 ID、人名和一些 Math.random() 值作为盐进行哈希处理,并将该哈希字符串与用户 ID 和人名一起传递。

这是标准做法吗? 我也应该将盐传递给第三方,对吗?


盐通常用于安全地存储密码的哈希值。对用于存储或通信的密码进行哈希处理(以便其他人无法读取)很容易被使用解码彩虹桌 http://en.wikipedia.org/wiki/Rainbow_table。现在,当您向密码添加随机字符串,但使用哈希值存储该字符串时,这会变得更加困难。计算这个新的哈希值如下:

hash(password + salt)

or even

hash(hash(password) + salt)

要安全登录第三方网站,可以发送用户 ID、加盐哈希(来自上面)和您使用的盐(如果未给出)。根据该网站存储密码的方式,您可以自己生成盐,也可以从中请求盐。

一种选择是先将 UserID 发送到网站,然后让它用盐进行响应,然后发送hash(password+salt))返回网站。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

哈希值和加盐值 的相关文章

  • 在Java Servlet中获取通过jquery ajax发送的参数[重复]

    这个问题在这里已经有答案了 我在网上搜索这个主题 但找不到有效的示例 我会很高兴有人能给我帮助 这就是我测试的 ajax url GetJson type POST dataType json contentType application
  • 使用itext java库复制时pdf文件大小大大增加

    我正在尝试使用 Java 中的 itextpdf 库将现有的 pdf 文件复制到一些新文件中 我使用的是 itextpdf 5 5 10 版本 我在两种方式上都面临着不同的问题 PDFStamper 和 PdfCopy 当我使用 PDFSt
  • 从 Android 函数更新 Textview

    有人可以告诉我如何从函数更新 Android Textview 控件吗 我在互联网上进行了深入搜索 看到很多人都问同样的问题 我测试了线程但无法工作 有人有一个简单的工作示例吗 例如 调用一个函数 在循环中运行多次 并且该函数在 TextV
  • mysql 使用什么样的哈希?

    我正在编写类似于 phpMyAdmin 的自己的代码 但我需要用户能够使用 mysql 数据库中的用户名和密码登录 我需要知道mysql数据库使用什么样的哈希来存储每个用户的密码 我检查了 dev mysql com 寻找答案 但除了以 开
  • JAX-WS 入门 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有人可以推荐一些关于 JAX WS 入门的好教程吗 使用各种工具 如 wsgen 等 您可以从这里开始 通过 Java SE 6 平台介绍
  • Android Studio 与 Google Play 服务的编译问题

    我正在运行 Android Studio 0 8 4 并在 Android Studio 0 8 2 上尝试过此操作 我正在运行 Java JDK 1 8 0 11 并尝试使用 JDK 1 8 0 05 每当我尝试构建我的 android
  • 如何杀死 Java Future?

    我正在开发的服务使用 Future 来并行运行多个任务 每个任务最多可能需要一分钟才能完成 然而 外部库似乎有问题 因为在某些情况下 2 的时间 它不会返回 在这些情况下 我想给出 2 分钟的等待时间 如果还没有返回 我想杀死 future
  • Android 信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR) libwebviewchromium.so

    对于 android 4 4 我多次收到 Native crash at system lib libwebviewchromium so 错误 以下是设备包括 Xperia Z1 SO 01F 16 30 2 Galaxy Tab4 7
  • 当我们使用赋值而不是比较时,如何评估 if/while 条件?

    我在学习 Java 的 OCA OCP 时发现了这个令人惊讶的事情 下面是第一段代码 其中 if 测试条件 部分 让我惊讶 public class BooleanIf public static void main String args
  • 用于制作代码编辑器的 JavaFX 相当于 JSyntaxPane 的什么?

    以前在 Swing 中 我使用过JSyntaxPane用于制作一个小型 Java 源代码编辑器 为了练习 我决定用 JavaFX 重做整个项目并添加对更多语言的支持 最好是尽可能多 不过好像没有什么类似的JSyntaxPane 一些研究让我
  • 如何在正则表达式中编写可选单词?

    我想编写一个识别以下模式的 java 正则表达式 abc def the ghi and abc def ghi 我试过这个 abc def the ghi 但是 它没有识别第二种模式 我哪里出错了 abc def the ghi 删除多余
  • 在 Kotlin 中声明静态属性?

    My Java code public class Common public static ModelPengguna currentModelPengguna public class Common companion object v
  • 如何在一次操作中使用 Thymeleaf 检查 null 和空条件?

    有什么方法可以检查 Thymeleaf 中的 null 和empty 条件吗 方法一 1 variable1 variable2 variable3 2 variable null 3 variable 如果我们结合两个条件 例如 vari
  • 在 Tensorflow-lite Android 中将位图转换为 ByteBuffer(浮点)

    在用于图像分类的tensorflow lite android演示代码中 图像首先转换为ByteBuffer格式以获得更好的性能 这种从位图到浮点格式的转换以及随后到字节缓冲区的转换似乎是一个昂贵的操作 循环 按位运算符 float mem
  • 如果 Modelmapper 中的整个属性为空,如何排除它们

    ModelMapper 是否 http modelmapper org http modelmapper org 支持什么排除属性 如果该值为空 我刚刚找到了 PropertyMap 但这对我来说是一种限制 因为我必须描述我想要的特定属性
  • 如何在不使用 -cp 开关的情况下在 Groovy 中自动加载数据库 jar?

    我想简化调用 Oracle 数据库的 Groovy 脚本的执行 如何将 ojdbc jar 添加到默认类路径以便我可以运行 groovy RunScript groovy 代替 groovy cp ojdbc5 jar RunScript
  • 在 cl-mongo 中实现 MongoDB SASL 身份验证

    我已经从 fons 分叉了 cl mongo common lisp MongoDB 库 存储库 因为它已经不再维护并且不支持 SCRAM SHA 1 登录过程 这是我的叉子 https github com mprelude cl mon
  • ebean 映射到 BYTEA 的数据类型是什么?

    我有一个游戏 2 0 2 需要在数据库中存储一些文件的应用程序 我们使用 Ebean 作为 ORM 我相信我的数据库中需要一个 BYTEA 列来存储该文件 但我不确定在我的模型中使用什么数据类型 我应该使用某种Blob 或者只是一个byte
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • FragmentMap + ActionBar 选项卡

    我一直在尝试插入一个MapView进入一个ActionBar Tab 但我什至无法解决问题 即使谷歌搜索 这是主要活动 Override public void onCreate Bundle savedInstanceState supe

随机推荐

  • jquery .validate() 变量错误消息

    我在此网站上使用多种语言 并希望以不同的语言显示错误 我想知道是否可以在自定义错误消息中使用变量 这是 JavaScript 代码片段 form validate ajax url notification php dataType jso
  • commitAllowingStateLoss() 和 commit() 片段

    我想在网络后台操作后提交一个片段 我在成功的网络操作后调用 commit 但如果活动进入暂停或停止状态 它就会导致应用程序崩溃 并显示 IllegalState 异常 所以我尝试使用 commitAllowingStateLoss 并且它现
  • 将 SWIG 与采用 std::string 作为参数的方法结合使用

    我使用 SWIG 来包装我的 C 类 有些方法有一个const std string 作为参数 SWIG 创建一个名为的类型SWIGTYPE p std string但是 在 C 中调用该方法时 不能仅为此传递普通字符串 下面的示例只是 S
  • 如何将数据附加到 JTA 事务? (或唯一标识它)

    我有一个 getStockQuote 函数 它将从股票市场获取某个符号的当前股票报价 我的目标是在 JTA 事务中 第一次调用 getStockQuote 将获取股票报价 但同一事务中的所有后续调用将重用相同的股票报价 例如 它不会尝试获取
  • 检查javascript中多维数组中的键是否存在

    希望是一个简单的问题 为什么要检查多维数组中是否存在键 a new Array Array a 0 0 1 a 0 1 2 if a 1 2 undefined alert sorry that key doesn t exist else
  • assembleDebug.dependsOn 不起作用

    首先 这不是这个的重复 错误 在项目 app 上找不到属性 assembleDebug https stackoverflow com q 38547400 770467 问题 自从更新到Android Studio 2 2 gradle插
  • 在 SQL Server 中编写架构脚本

    我想在 SQL Server 数据库中创建一个架构 数据库中还有一堆其他脚本 我可以编写现有架构的脚本吗 我的意思是 假设我们有一张桌子 我们可以 编写一个脚本CREATE TABLE脚本 我们可以编写一个创建架构的脚本吗 谢谢你们的期待
  • 良好的Java进程控制库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Java 进程控制是出了名的糟糕 主要是由于 Java VM JDK 类 例如 java lang P
  • 在 bash 脚本中使用 find 命令

    我刚刚开始使用 bash 脚本 并且需要对多种文件类型使用 find 命令 list find home user Desktop name pdf 此代码适用于 pdf 类型 但我想同时搜索多种文件类型 例如 txt 或 bmp 您有什么
  • 在无效 Syskeypress 上禁用 MessageBeep

    简单的问题 如果用户按 Alt Whatever 并且没有与之关联的热键 通常程序会产生 MessageBeep 我可以调用哪些 API 函数来避免这种情况 处理 WM KEYDOWN WM KEYUP WM SYSKEYDOWN 和 WM
  • Symfony2 和 Angular。用户认证

    我正在开发一个涉及 Symfony2 和 AngularJs 的 Web 应用程序 我对网站中用户身份验证的正确方法有疑问 我在 API REST 在 Symfony 中内置 中构建了一个函数 该函数通过请求中传递的参数对用户进行身份验证
  • 如何使用jQuery调用c# webservice获取返回值

    我想使用 jQuery 调用名为 c ashx 的 C Web 服务 该服务检查该用户名是否有效并以字符串形式返回错误消息 如果 c webservice 的返回值是字符串值 我应该为 data 和 content type 添加什么 jQ
  • OSX NSUserDefaults 不工作

    这段代码在我的应用程序中总是给我 否 它确实可以在我复制它的任何其他项目中工作 所以我的 standardUserDefaults 一定搞砸了 但我绝对不知道这是如何发生的以及如何解决它 NSUserDefaults defaults NS
  • org.openqa.selenium.WebDriverException:尚未定义命令或响应编解码器。无法继续

    我正在使用 appium 来自动化移动应用程序 但是当我尝试在应用程序上执行某些操作 即单击登录按钮 时 在模拟器或移动设备上启动应用程序后 会发生上述异常 有人知道它出了什么问题吗 gt 错误截图 https i stack imgur
  • 当一个方法被多次调用时,@RequestParam变量返回一组逗号分隔的值

    我刚刚注意到 当连续多次调用控制器方法时 用于检查 POST 参数 例如用户名或 id 的 RequestParam 变量的行为相当奇怪 它不返回当前参数值 例如 Jason Michael John 而是返回之前调用该方法所用的所有参数值
  • 禁用时省略 editText 的内容

    我有一个布局 其中 EditText 由用户填充 然后它被禁用以充当标准 TextView 问题是 椭圆形永远不适用于此 EditText 我希望它在文本太大而无法完全显示时在文本末尾显示 但我找不到任何方法让它起作用 而且我不知道为什么它
  • Cassandra 和非结构化数据

    我对 NoSQL 还比较陌生 但我已经对关系数据库进行了相当多的尝试 我们正在评估 Cassandra 在数据模型可能需要相当积极地发展的环境中的使用情况 我看到它在多个地方写到 Cassandra 可以存储 结构化 半结构化和非结构化 数
  • 两个黑莓模拟器之间的短信

    如何编写程序以使用 BlackBerry JDE 在两个 BlackBerry 模拟器之间发送和接收 SMS 您需要使用以下参数从命令行启动模拟器 sms source port uint sms destination port uint
  • iOS:UIBezierPath 和 CAShapeLayer fillRule

    我都用过UIBezierPath and CAShapeLayer前 但几乎每次都会结合用内部颜色填充路径中包含的对象 但我想这次填充包含的对象外部的颜色UIBezierPath 我刚刚编写并运行了以下简单的代码 试图让自己熟悉fillRu
  • 哈希值和加盐值

    我正在开发一个小型网络应用程序 可以在内部对用户进行身份验证 一旦用户通过身份验证 我的 Web 应用程序就会将一些信息 例如用户 ID 和人员姓名 传递给第三方 Web 应用程序 第三方开发人员建议我们对这些值进行哈希和加盐 原谅我的无知