我使用janusgraph和cassandra作为存储后端。在保存密码之前,我使用名为bcrypt的节点包来加密密码。 janusgraph中该属性的数据类型是String。这是生成的密码哈希字符串 - #include "cuComplex.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
int main(void)
{
int n = 12000000; //12.000.000
int lse = n / 2;
FILE *f, *f2;
cuDoubleComplex *se, *se2;
f = fopen("ref_PRI20.dat", "r");
f2 = fopen("surv_PRI20.dat", "r");
se = malloc(lse * sizeof(cuDoubleComplex));
se2 = malloc(lse * sizeof(cuDoubleComplex));
for (int a = 0; a < lse; a++)
{
if ( 1 != fscanf ( f, "%lf ,", &se[a * 2].x])) {
fprintf ( stderr, "could not scan double\n");
break;
}
if ( 1 != fscanf ( f, "%lf ,", &se[a * 2 + 1].y)) {
fprintf ( stderr, "could not scan double\n");
break;
}
if ( 1 != fscanf ( f2, "%lf ,", &se2[a * 2].x)) {
fprintf ( stderr, "could not scan double\n");
break;
}
if ( 1 != fscanf ( f2, "%lf ,", &se2[a * 2 + 1].y)) {
fprintf ( stderr, "could not scan double\n");
break;
}
}
fclose(f);
fclose(f2);
free ( se);
free ( se2);
return 0;
}
这是我在尝试将其保存在db中时遇到的错误:
$2a$10$JSR6FClewTOHGxwpt/F0AePRzGnKvV2L9gj4TL1dA9fQERLWrig7u
如果您需要任何其他信息,请与我们联系。
答案 0 :(得分:1)
您传递给服务器的查询是使用Groovy编译的,而Groovy正在尝试将$
解析为标识符。您的哈希值中有一个文字$
,因此您需要在每个\
前加$
来逃避它。例如:
{ "gremlin":
"g.V(1234).property('hash', '\$2a\$10\$JSR6FClewTOHGxwpt/F0AePRzGnKvV2L9gj4TL1dA9fQERLWrig7u')"
}
答案 1 :(得分:0)
我自己并不是一个时髦的大师,但我意识到只有在使用双引号时才会尝试进行此评估,因此我设法通过确保使用单引号来解决此问题。 我正在使用PHP,所以流程首先是json_encode,然后用单引号交换双引号,处理中间任何已经转义的引号(如果有的话)。