小编Chr*_*row的帖子

MessageDigest在不同的计算机上散列不同

我遇到MessageDigest在不同计算机上返回不同哈希值的问题.

一台计算机在Windows Vista上运行32位Java,另一台在Mac OS上运行64位Java.我不确定是不是因为MessageDigest是依赖于机器的,或者我需要在某处明确指定字符编码,或者可能是其他东西.这是代码:

public static boolean authenticate(String salt, String encryptedPassword, 
    char[] plainTextPassword ) throws NoSuchAlgorithmException {

    // do I need to explcitly specify character encoding here? -->
    String saltPlusPlainTextPassword = salt + new String(plainTextPassword);

    MessageDigest sha = MessageDigest.getInstance("SHA-512");

    // is this machine dependent? -->
    sha.update(saltPlusPlainTextPassword.getBytes());
    byte[] hashedByteArray = sha.digest();

    // or... perhaps theres a translation problem here? -->
    String hashed = new String(hashedByteArray);

    return hashed.equals(encryptedPassword);
}
Run Code Online (Sandbox Code Playgroud)

这些代码应该在这两台不同的机器上执 如果它与我编写它的方式是机器相关的,那么还有另一种方法来散列这些更便携的密码吗?谢谢!

编辑:::::

这是我用来生成盐的代码:

public static String getSalt() {
   int size = 16; …
Run Code Online (Sandbox Code Playgroud)

java hash consistent-hashing

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

客户端知道Twilio Capability Token何时到期的好方法

客户端应用程序知道Twilio Capability Token何时到期的好方法是什么?

更多信息

在我的例子中,客户端应用程序是在Web浏览器中运行的Javascript应用程序.

我问的原因是因为我想确保客户端应用程序(在Web浏览器中运行)始终准备好接收针对它的传入调用.在我看来,如果客户端应用程序正在使用的Capability Token已经过期,那么在不知情的情况下调用该应用程序可能会失败.

到目前为止,我能想到的最佳解决方案是客户端应用程序跟踪Capability Token的到期时间,并在服务器到期前不久自动查询服务器.(使用Javascript的setTimeout()

更理想的情况是,如果Twilio.Device在Javascript库中有一个可以在令牌即将到期时设置的回调.这样客户端可以监听那时可以请求新令牌的方式.

另一种解决方案可能是服务器能够延长客户端能力令牌的到期时间,如果它知道调用已经进入该客户端的调用.然而,这是Twilio可能提供或不提供的功能.

处理这个问题的好方法是什么?

twilio

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

REST - 获取随机数GET或POST?

如何在REST中正确实现随机数生成器?

GET   RANDOM/
Run Code Online (Sandbox Code Playgroud)

要么..

POST  RANDOM/
Run Code Online (Sandbox Code Playgroud)

服务器每次返回一个不同的随机数.

我可以看到两种方式的论点.

random rest uuid guid

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

"请等一下"的HTTP响应代码

如果服务器希望客户端等待一段时间然后再次尝试请求,那么服务器发送的最佳HTTP响应代码是什么?

现在,我正在使用:

409 Conflict
Run Code Online (Sandbox Code Playgroud)

但这感觉不太对劲......

rest http httpresponse

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

使用javascript获取页面网址

有人可以推荐一种使用JavaScript从网址获取网页名称的方法吗?

例如,如果我有:

http://www.cnn.com/news/1234/news.html?a=1&b=2&c=3
Run Code Online (Sandbox Code Playgroud)

我只需要获取"news.html"字符串

谢谢!

javascript

8
推荐指数
2
解决办法
3万
查看次数

Java - 使对象集合友好

如果一个对象拥有一个唯一的主键,那么它需要实现哪些接口才能实现集合友好,特别是在高效排序,可清洗等方面...?

如果主键是字符串,那么如何最好地实现这些接口?

谢谢!

java collections hash set comparable

8
推荐指数
3
解决办法
3423
查看次数

在python中查找类型 - TypeError'unicode'对象不可调用

我正在尝试确保对象是Python中的字符串类型(对于谷歌应用引擎).我正在这样做,以便我可以将其更改为db.Text类型,如果它超过500字节.但是,我一直收到错误:TypeError 'unicode' object is not callable

    if type(value) in types.StringTypes and len(value) > 499:
        value = db.Text(value)
    setattr(entity, key, value)
Run Code Online (Sandbox Code Playgroud)

如果对象的类型是字符串,我应该用什么来测试?

python google-app-engine types

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

了解Marionette for Backbone.js的布局

我想我可能对如何Marionette.Layout使用有一个根本的误解.

我正在尝试这样的事情:

在此输入图像描述

布局包括两个Marinotette.ItemView:"爆炸" ItemView和"PopStar" ItemView.此布局旨在始终包含这些视图,因此我尝试这样做:

var TheLayout = Backbone.Marionette.Layout.extend({
    template: '#the=layout-template',
    regions: {
        explode: '#explode-region',
        popstar: '#popstar-region'
    }
    initialize:function(options){
        _.bindAll(this);

        var explodeView = new ExplodeView();
        this.explode.show(explodeView);        // <-- This throws and exception because the regions are not available yet

    }
})
Run Code Online (Sandbox Code Playgroud)

但看起来区域在渲染布局之后才可用.我this.render()在添加视图之前尝试过调用,但这没有用.我很确定这里的根本问题是我在错误的情况下应用布局.

在这种情况下我该怎么做?什么时候使用正确Marionette.Layout

谢谢!

javascript backbone.js backbone-relational backbone-views marionette

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

将GIS点分成彼此接近的点组

有一组坐标需要分成彼此接近的组.

在PostgreSQL数据库上使用Python.我想出了一个可行的解决方案,但后来我意识到我可能正在重新发明轮子.我是否可以使用库来实现这一目标,而无需使用自己的解决方案?

例:

在此输入图像描述

gis postgresql postgis

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

Marionette CompositeView:Uncaught ItemViewContainerMissingError:找不到指定的`itemViewContainer`:

使用Marionette的CompositeView时出现这个奇怪的错误:

Marionette CompositeView: Uncaught ItemViewContainerMissingError: The specified `itemViewContainer` was not found: tbody
Run Code Online (Sandbox Code Playgroud)

未找到的元素tbody位于模板中.我已经查看了我项目的其余部分,并且我已经多次完成同样的事情而没有任何问题.它必须是我想念的小东西.

是否存在与此错误相关的特定反模式?

谢谢!

backbone.js marionette

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