问题列表 - 第20230页

使用SSL密码哈希

好吧,这可能听起来像一个奇怪的问题.在跳我之前请仔细阅读好吗?;-)

想象一下这种情况:

  1. 我们有一个服务器和一个客户端.
  2. 他们使用SSL连接.
  3. 客户端使用密码在服务器上创建帐户
  4. 但是,他实际通过网络传递给服务器的是密码的哈希(+盐)(不是密码)
  5. 服务器在DB中保存此接收的密码哈希值(使用盐哈希)
  6. 在登录时,要进行身份验证,用户重新发送密码哈希值(不是密码!).

好的,是的,我意识到这听起来很奇怪.是的,整个会话都在SSL中,所以你可以发送密码明文.是的,我意识到可以安全地存储明文密码.

以下是我的观点:对我们的业务来说,真实地说"我们永远不会知道您的密码"是​​有用的.

注意我不是说"我们不以明文形式存储您的密码",但我们真的,从来没有,知道它; 你永远不会把它给我们.

(想要这个的原因是不相关的,足以说用户的密码用于其他东西,例如文件加密).

是的,我意识到你可能会说正常的做法是"在你进行散列时,密码只能在内存中以明文形式显示5ms",但这更多是关于否定性.即,我们可以说100%我们甚至没有收到您的密码.

好的,这就是问题所在:

  • 以前有人做过或听说过这种事吗?

  • 这样做有什么安全隐患?

我很难看到一个缺点.例如:

  • 没有重播攻击(因为会话使用SSL加密,攻击者无法看到哈希)
  • 无法查看数据库,因为哈希本身就是哈希...,哈希

好的,你现在可以跳我:)

想法,欢迎评论.

谢谢,

约翰

更新:只是想澄清:我并不是说这在某种程度上改善了身份验证过程的安全性.但是,它允许用户的"真实"密码保持秘密,即使是从服务器.因此,如果真实密码用于加密文件,则服务器无权访问.

我完全满足于我想要这个的原因,问题是它是否会妨碍身份验证过程的安全性.

authentication hash ssl cryptography http-digest

5
推荐指数
1
解决办法
1453
查看次数

ASP.NET验证摘要:如何使用JavaScript禁用验证程序?

我想用JavaScript禁用ASP.NET RequiredFieldValidator.其实我正在使用以下代码:

function doSomething() 
{ 
  var myVal = document.getElementById('myValidatorClientID'); 
  ValidatorEnable(myVal, false);  
} 
Run Code Online (Sandbox Code Playgroud)

这会禁用验证器.但我的问题是,我正在使用ValidationSummary.即使我禁用验证器,此摘要也会显示验证消息.

有人能告诉我,如何在ValidationSummary中禁用验证器?

javascript asp.net

8
推荐指数
1
解决办法
5571
查看次数

typedef和const指针的容器

以下代码行编译得很好并且表现得很好:

list<const int *> int_pointers;  // (1)
Run Code Online (Sandbox Code Playgroud)

以下两行不是:

typedef int * IntPtr;
list<const IntPtr> int_pointers;  // (2)
Run Code Online (Sandbox Code Playgroud)

我得到完全相同的编译错误

list<int * const> int_pointers;  // (3)
Run Code Online (Sandbox Code Playgroud)

我很清楚最后一行不合法,因为STL容器的元素需要可分配.为什么编译器解释(2)与(3)相同?

c++ containers stl typedef

8
推荐指数
4
解决办法
1427
查看次数

Boost :: Python,静态工厂和继承

所以我可能在这里有一个相当独特的用例,但我认为它应该工作 - 但它不能正常工作.

基本上,我有一个使用静态工厂方法(create)的类,它将shared_ptr返回给新创建的类实例.这个类还有一个虚函数,我想从python中重写并从C++调用.

也许我的代码可以比我的话更清楚地表达思想:

#include <string>
#include <iostream>
#include <boost/python.hpp>
#include <boost/enable_shared_from_this.hpp>

using namespace boost::python;
using namespace boost;

//~ Base Class ClassA
class ClassA
    : public enable_shared_from_this<ClassA>
{
protected:
    ClassA(){}
public:

    static shared_ptr<ClassA> create(){ return shared_ptr<ClassA>( new ClassA() ); }

    virtual void quack(){ std::cout<<"quacks like a ClassA Base"<<std::endl; }
};

//~ Wrapper for ClassA
struct WrapClassA : public ClassA, wrapper<WrapClassA>
{

    static shared_ptr<WrapClassA> create(){ return shared_ptr<WrapClassA>( new WrapClassA() ); }

    void quack()
    {
        std::cout<<"quacking like a Wrapper..."<<std::endl;
        if (override …
Run Code Online (Sandbox Code Playgroud)

c++ python boost

5
推荐指数
1
解决办法
1140
查看次数

Jquery,没有改变css的最高价值

所以我遇到的问题是用像素(px)扩展名改变我的#scroll top:value.

#container {
 height:100px;
 overflow:hidden;
}

#scroll {
 position:relative;
 top:0px;
}
<div id="container">

<p>
 <a id="up">Up</a>
</p>

<div id="scroll">up down blah</div>

</div>

$(function(){
  $("#up").hover(function(){
    var topVal = $( 0 + "px");
    $("#scroll").css("top", topVal-10 + "px");
  });
Run Code Online (Sandbox Code Playgroud)

html css jquery

1
推荐指数
1
解决办法
6503
查看次数

在Windows 7 64位企业版上安装Delphi 2007时出现问题

我在将问题安装Delphi 2007 RAD Studio Professional到Windows 7 64位企业版上时遇到问题.

一切都很好,直到我输入安装的序列号.输入并单击安装向导中的下一个按钮后,我在第906行收到安装脚本错误.确定该错误会关闭安装程序.

我已经做了一些谷歌搜索,但还没有发现任何类似的东西(虽然我已经找到很多引用,已经在各种版本的64位窗口上安装了它,并有其他问题的人).

我已经能够在同一台机器上安装Delphi 2009而没有任何问题.

我真的很想安装2007,因为这是我们目前的主要Delphi开发IDE.

windows delphi installer delphi-2007 windows-7-x64

5
推荐指数
1
解决办法
7330
查看次数

在Java中转义html

我如何确保两次逃脱?

我听说它是​​一种很好的做法,可以在从表单中接收值时转义值,并在输出时转义.这样你就有两次抓住机会的机会.

java xss jsp escaping

13
推荐指数
1
解决办法
1万
查看次数

List <T>上的通用排序

我有以下代码:

   public class OMyObject
   {
       public int Id { get; set; }
       public string Value { get; set; }
       public DateTime? MyDate  { get; set; }
   }
Run Code Online (Sandbox Code Playgroud)

我也有这个代码:

public static class ObjectExtension
{
    public static List<OMyObject> Sort<T>(this List<OMyObject> o, Func<OMyObject, T> keySort, ESortDirection direction) where T : IComparable
    {
        if (direction == ESortDirection.asc)
        {
            o.Sort((a, b) => keySort(a).CompareTo(keySort(b)));
        }
        else
        {
            o.Sort((a, b) => keySort(b).CompareTo(keySort(a)));
        }
        return o;
    }

}
Run Code Online (Sandbox Code Playgroud)

现在我有一个测试控制台应用程序,它执行以下操作:

var myObjectList = new List<OMyObject>
                               {
                                   new OMyObject {Id …
Run Code Online (Sandbox Code Playgroud)

c# generics extension-methods

4
推荐指数
2
解决办法
490
查看次数

什么是上下文切换时间?

我对上下文切换有疑问.在多线程中,当发生上下文切换时,两个上下文切换之间的时间是多少?它是固定的时间间隔吗?

multithreading operating-system scheduling

4
推荐指数
1
解决办法
1039
查看次数

从工作区中的文件夹中检索文件

我的工作区内有一个文件夹,但在'src'之外,其中包含一个文件,需要在使用自定义插件向导时设置新文件.

除非我确切地指定文件在系统中的位置,否则我无法正确获取此文件的位置并继续获取空指针.我的问题是文件是在一个插件项目中,我无法得到它的位置.

插件中的文件位置是com.my.plugin/rules/setup.txt

java eclipse plugins

4
推荐指数
1
解决办法
6701
查看次数