标签: nonce

Python 相当于 JS `Symbol`?

Javascript符号提供简单的唯一标识符:

> const foo1 = Symbol('foo');
> foo1
Symbol(foo)
> const foo2 = Symbol('foo');
> foo1 === foo2
false
> let m = new Map();
> m.set(foo1, "bar");
> m.set(foo2, "rosco");
> m.get(foo1)
'bar'
> m.get(foo2)
'rosco'
Run Code Online (Sandbox Code Playgroud)

这对于例如当您不能使用Exceptions 时从具有特殊含义的函数获得唯一的返回值很有用。

我知道在 python 中你可以使用object()随机数,但是当你打印它们时,这些都不会表现得很好。

Symbolpython中有类似javascript的东西吗?

javascript python symbols uniqueidentifier nonce

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

用于Web身份验证的SHA1-hashing代替Blowfish

由于无法找到一个工作的php/javascript实现的blowfish,我现在正在考虑使用SHA1哈希来实现基于Web的身份验证,但是在这个特定领域缺乏知识使我不确定所选方法是否足够安全.

计划的路线图:

  1. 用户密码作为MD5哈希存储在服务器上.
  2. 服务器发出公钥(当前时间的MD5哈希值,以毫秒为单位)
  3. 客户端javascript函数将用户密码作为输入,并计算其MD5哈希值
  4. 然后,客户端从上面连接公钥和密码哈希,并计算结果字符串的SHA1
  5. 客户端将SHA1哈希发送到服务器,其中使用公钥和用户密码MD5哈希执行类似的计算
  6. 服务器比较哈希值,匹配表示验证成功.
  7. 不匹配表示身份验证失败,服务器发出新的公钥,有效地使已使用的公钥到期.

现在,有问题的部分是关于在SHA1之前连接两个密钥,是否容易发生某种统计或其他攻击?

是否有任何特定的顺序可以连接密钥以提高整体质量(即更高的位对加密的可靠性更重要)?

先感谢您.

authentication hash cryptography nonce

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

在WordPress插件中使用Nonce和Ajax

我正在尝试在WordPress插件中使用nonce.我有一个表格,我想用nonce.

在PHP中:

function csf_enqueue() {

//I have other scripts enqueued in htis function 
wp_enqueue_script('my-ajax-handle', plugin_dir_url(__FILE__).'file-path', array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker', 'google-maps'));

$data = array(
    'ajax_url' => admin_url( 'admin-ajax.php' ),
    'my_nonce' => wp_create_nonce('myajax-nonce')
);

wp_localize_script('my-ajax-handle', 'the_ajax_script', $data );

}

add_action('wp_enqueue_scripts', 'csf_enqueue');
add_action('wp_ajax_the_ajax_hook', 'the_action_function');
add_action('wp_ajax_nopriv_the_ajax_hook', 'the_action_function');
Run Code Online (Sandbox Code Playgroud)

在jQuery文件中:

jQuery.post(the_ajax_script.ajaxurl, {my_nonce : the_ajax_script.my_nonce}, jQuery("#theForm").serialize() + "&maxLat="+ csf_dcscore_crime_map_bounds[0] + "&maxLong="+ csf_dcscore_crime_map_bounds[1] + "&minLat="+ csf_dcscore_crime_map_bounds[2] + "&minLong="+ csf_dcscore_crime_map_bounds[3],
                    function(response_from_the_action_function){
                        jQuery("#response_area").html(response_from_the_action_function);
                    });
Run Code Online (Sandbox Code Playgroud)

我是否在jQuery中正确发布了nonce?

在PHP中:

function the_action_function() {
   if( ! wp_verfiy_nonce( $nonce, 'myajax-nonce')) die ('Busted!');
//function continues
Run Code Online (Sandbox Code Playgroud)

有什么建议?如果我删除所有关于nonce的代码,一切正常.关于它为什么不起作用的任何想法?或者我该如何调试它?谢谢!

谢谢.

wordpress jquery nonce

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

登录时应该使用随机数吗?

Wikipedia提供了以下基于 nonce 的身份验证示例:

  1. 客户端从服务器请求随机数。

  2. 服务器以随机数响应(即,以下称为“服务器随机数”)。

  3. 客户端使用服务器随机数、它自己的客户端随机数和用户输入的密码来生成哈希。

  4. 客户端将用户输入的用户名、客户端随机数和哈希发送到服务器。

  5. 服务器从其数据库中检索服务器随机数和用户密码,大概是通过用户名。

  6. 服务器结合服务器随机数、客户端随机数和密码来生成哈希。

  7. 服务器将刚刚生成的散列与客户端发送的散列进行比较。

  8. 如果哈希匹配,则客户端通过身份验证。如果不是,则客户端被拒绝。

这是否意味着服务器以纯文本形式存储用户密码?是否严重违反了建议保存密码的加盐哈希而不是实际密码本身的安全原则?

security authentication hash login nonce

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

错误:Nonce太小 - Bitfinex api

我尝试使用bitfinex库(https://www.npmjs.com/package/bitfinex)从Bitfinex调用rest API .当使用相同的API密钥同时运行多个进程时,文档警告此错误.但是,我相信我只是一次运行一个进程,即使我生成新的API密钥,错误仍然会发生.我正在考虑重写nonce或扩展它但我不知道如何做到这一点.我曾在互联网上尝试过一些建议,但仍然无效.

以下是我的参考代码:

import Bitfinex = require('bitfinex');
import pollingtoevent = require('polling-to-event');
import { Logger, LoggerFactory } from '../../common';
import { AppDataServices } from '../../data';

export class BitfinexPoller {
  private static readonly LOGGER: Logger = LoggerFactory.getLogger();
  private bitfinex: any = undefined;
  private emitter: any = undefined;
  private public_key: string = '<my-public-key>';
  private secret_key: string = '<my-secret-key>';
  private nonce: any = new Date().getTime();

  constructor(private appServices: AppDataServices) {
    BitfinexPoller.LOGGER.info('Bitfinex poller init');

    this.bitfinex = new Bitfinex(this.public_key, this.secret_key, this.nonce);

    // Lend book …
Run Code Online (Sandbox Code Playgroud)

rest nonce

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