小编imi*_*ers的帖子

Python中的GCM模式下的AES

有没有人知道一个python库或ac库周围的包装器,可以通过GCM模式轻松提供经过验证的AES ?

PyCrypto不支持它,PyOpenSSL似乎不支持直接访问OpenSSL的对称密码部分

python encryption cryptography

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

初始化列表中的C++临时变量

在C++中,有没有办法在初始化列表中有类似临时变量的东西.我想初始化两个具有相同实例的常量成员,而不必传递该内容,删除const要求,使用Factory(即将其传入但工厂生成它以将其隐藏在API用户中),或者让temp实际上是一个成员变量.

就是这样的

Class Baz{
    const Foo f;
    const Bar b;
    Baz(Paramaters p):temp(p),f(p,temp),b(p,temp){ //temp is an instance of Something
                                                  // But NOT A member of Baz
    // Whatever
    }
}
Run Code Online (Sandbox Code Playgroud)

代替

Class Baz{
    Foo f;
    Bar b;
    Baz(Paramaters p){
        Something temp(p);
        f = Foo(p,temp)
        b = Bar(p,temp)
    }
}
Run Code Online (Sandbox Code Playgroud)

要么

Class Baz{
    Foo f;
    Bar b;
    Baz(Paramaters p,Something s):f(p,s),b(p,s){
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ initialization const

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

生锈,WebAssembly和传递参数以增加总内存

我有一个生锈的项目,我正在编写webasm每http://asquera.de/blog/2017-04-10/the-path-to-rust-on-the-web/

项目编译.当我在Chrome Canary中运行它时,内存不足并给我一个非常有用的错误消息:

abort("Cannot enlarge memory arrays. Either (1) compile with  -s 
TOTAL_MEMORY=X  with X higher than the current value 16777216, (2) compile 
with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime, 
...
Run Code Online (Sandbox Code Playgroud)

问题是,它不清楚如何将这些标志传递给rustc /构建工具链.

既未设置EMMAKEN_CFLAGS,也未设置以下工作:

cargo  rustc -v --target=wasm32-unknown-emscripten --release -- -Clink-args="-s TOTAL_MEMORY=33554432" 
Run Code Online (Sandbox Code Playgroud)

rust asm.js webassembly

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

苦于认证的方法

我想,不使用内置的WCF/c#组件,

  1. 将客户端验证为RESTful服务
  2. 处理客户端API调用上的身份验证失败

这是一个教学练习:我意识到有内置的身份验证方法,我想从头开始这样做,以了解它是如何工作的.

我有密码哈希和检查逻辑以及验证密码的公开REST调用,但我不确定如何从那里开始.

背景

我正在努力为我的休息服务创建一个身份验证方法.

到目前为止,我已经设法创建了密码,盐的哈希并存储了盐,我已经设法验证用户.但是我不知道,这样如果任何请求(GET,POST),它要求你登录并在如果你的登录不你会怎么封装了所有我的WCF REST请求.

因为我使用自己的身份验证技术,而且我是Web服务和C#的新手,我真的不知道从哪里开始?

因此,我将向任何可以提供方法的人提供300个代表.

这是我的休息服务:

[ServiceContract(Namespace = "http://tempuri.org")]
[XmlSerializerFormat]
public interface IService
{
  .... all of my GET, POST, PUT and DELETE requests
{
[DataContract(Name="Student")]
[Serializable]
public class Student
{
    [DataMember(Name = "StudentID")]
    public string StudentID { get; set; }
    [DataMember(Name = "FirstName")]
    public string FirstName { get; set; }
    [DataMember(Name = "LastName")]
    public string LastName { get; set; }
    [DataMember(Name = "Password")]
    public string Password;
    [DataMember(Name = "Salt")]
    public byte[] Salt; …
Run Code Online (Sandbox Code Playgroud)

c# authentication encryption rest web-services

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

C++ Cereal:序列化C风格的数组

可以/如何使用谷物库序列化数组.

void save(Archive & ar, const unsigned int version) const
{
    unsigned int l  = g1_size_bin(g,POINT_COMPRESS);
    uint8_t data[l];
    memset(data, 0, l);
    g1_write_bin(data, l, g,POINT_COMPRESS);
    ar(l);
    ar(data); // what should be here
}
Run Code Online (Sandbox Code Playgroud)

这不起作用(我也不期望它).也没有

ar(cereal::binary_data(data,l)); 
Run Code Online (Sandbox Code Playgroud)

(我认为它会工作,因为它看起来像一个人会使用的增强代码),这会产生编译错误:

/usr/local/include/cereal/cereal.hpp:79:17:注意:候选模板被忽略:替换失败:可变修改类型'unsigned char(&)[l]'不能用作模板参数BinaryData binary_data(T && data,size_t size)

也没有

ar.saveBinaryValue(data,l);
Run Code Online (Sandbox Code Playgroud)

由于该方法似乎只支持XML/Json,我想要一个二进制存档.

c++ cereal

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

使用BigInteger覆盖public int hashCode()

BigInteter太大而无法转换为整数.但我必须在id中存储id(SHA 512)的对象,HashMap并且需要一个没有很多冲突的哈希函数.

我试过这个.但是,我不确定某处是否存在聚类.

@Override
public boolean equals(Object obj) {
    if (this == obj) {
        return true;
    }
    if (obj == null) {
        return false;
    }
    if (getClass() != obj.getClass()) {
        return false;
    }
    Advertisement other = (Advertisement) obj;
    return this.getId().equals(other.getId());
}

@Override
public int hashCode() {
    return new BigInteger(getId(), 16).hashCode();
}
Run Code Online (Sandbox Code Playgroud)

是一个转换为整数(bi.intValue())更有效?

java collections hashcode

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