Tag: 密码

Neo4j仅当where子句总是为真时才返回一个节点

考虑下面的Neo4j数据库例子: 节点是(篮子)(预订)和[:IS_BOOKED_IN] 现在预订看起来像这样: Booking {start:number,end:number} 如果您预定了某个东西,您可以select要预订哪个篮子,并在这两者之间创build关系[:IS_BOOKED_IN]。 这工作得很好。 现在我想检查我的下一个预订,如果任何篮子可用的时间框架,我select。 现在我正在用Cypher来做这个查询: MATCH(basket:Basket) – [:IS_BOOKED_IN] – >(booking:Booking)WHERE({start} <booking.start AND {end} <booking.start)OR({end}> booking.end AND {start}> booking.end)返回篮子 {开始}和{结束}是数字 正如你所看到的,这将会像预期的那样工作,但前提是只有一个预订。 只要有更多的预订,我会得到相同的篮子,即使它显然不可用,从而使我的查询无用。 发生这种情况是因为在WHERE子句失败时查询不会停止,而是再次使用相同的Basket节点,并检查其他预订,这些预订不会失败,然后将我退还给篮子。 我怎么能改变这个,如果WHERE子句总是正确的,我怎么能告诉Neo4j只返回篮子给我? 或者只是一次失败就跳过篮子。 任何想法表示赞赏,谢谢

Cypher查询返回匹配节点和可选关系

我试图find返回所有匹配的节点和他们可能有的任何关系的最优方法? 这是我的问题: 我需要返回创build项目的所有用户,所以 match (u : User)-[r:CREATE]->(p: Project) return u, collect(p) 很简单,但用户也可以有其他的关系,我想包括他们或可选的检查(返回true / false) 例如用户可能有关系build议,我不想限制它,但如果检查它是否存在一个什么节点? 理想情况下,我的回报表如下所示: USER1 – PROJECT(S) – 推荐用户 USER2 – PROJECT(S) – NULL(无人推荐)

NodeJS:Crypto – 无论input什么,我为什么得到相同的散列?

我正在使用encryption哈希一个string与盐200次。 我有一个奇怪的行为,散列总是相同的。 我现在已经回到了正确的结果,但是我想知道是否有人能告诉我为什么。 这是每次产生相同散列的原始代码(假定相同的盐): const crypto = require('crypto'); console.log(hashPwd('abc', '11111111111111111111111111111111')); console.log(hashPwd('def', '11111111111111111111111111111111')); function hashPwd(password, hexSalt){ var salt = hex2a(hexSalt); var hashPwd = crypto.createHash('sha256').update(salt + password); for(var x =0; x < 199; x++){ hashPwd = crypto.createHash('sha256').update(salt + hashPwd); } return hashPwd.digest('hex'); } //From: http://stackoverflow.com/questions/3745666/how-to-convert-from-hex-to-ascii-in-javascript function hex2a(hexx) { var hex = hexx.toString();//force conversion var str = ''; […]

在Neo4j中根据Where条件插入数据

我想插入基于其他lebel/collection 。 我有2个lebel/collection ( 单元,用户 ),他们之间有1个关系( Business ),我想根据他们的关系将数据插入到unit 。 我的密码查询如下: MATCH (u:Units)<-[:Business]-(s:Users) WHERE s.id = 'some-user-id' WITH count(u) as numOfUnit // return number of units connected with user // if numOfUnit is smaller then 2 // insert/merge new data into Units lebel/collection // with relation between them MERGE ( bu:Units {name:'some-name-01', info:'some-info-01' }) WHERE numOfUnit […]

HTTPS密码在节点js 0.4

节点0.2.6方式: var credentials = crypto.createCredentials({ "key": SSLKey, "cert": SSLCert, "ca": Ca, "password": SSLKeyPass }) var client = http.createClient(apiPort, host, true, credentials) node 0.4 way: var options = { host: apiHost, port: apiPort, method: 'GET', path: uri, headers: {host: host}, key:SSLKey, cert:SSLCert, ca:Ca, password:SSLKeyPass } var request = https.request(options, function (response) { 正如你所看到的,有一个需要的密码,我不知道密码应该在节点0.4的位置。 SSLKeyPass在节点0.4上的位置?

parsing树结果/得到儿童

我目前正在开发一个新的应用程序,我需要pipe理位置(大洲>国家>地区>城市)。 我试图(没有成功)使用密码从neo4j直接获取树: MATCH p = (r:Location)-[:CONTAINS*]->() WHERE r.category='continent' RETURN p AS path 现在,我想parsing这些数据,所以我可以这样做: MATCH (r:Location)-[:CONTAINS]->(r2) WHERE r.category='continent' OPTIONAL MATCH (r2)-[:CONTAINS]->(r3) OPTIONAL MATCH (r3)-[:CONTAINS]->(r4) OPTIONAL MATCH (r4)-[:CONTAINS]->(r5) OPTIONAL MATCH (r6)-[:CONTAINS]->(r6) RETURN r.name, r.category, r2.name, r2.category, r3.name, r3.category, r4.name,r4.category, r5.name, r5.category, r6.name, r6.category 但这不是我等待的回应,我不喜欢这个解决scheme,因为最多有6个关系。 如果我这样做,我冒险破坏树。 [ { 'r.name': 'Europe','r.category': 'continent','r2.name': 'Germany','r2.category': 'country','r3.name': null,'r3.category': null,'r4.name': null,'r4.category': null,'r5.name': null,'r5.category': […]

使用pbkdf2 crypto哈希密码无法正常工作

密码安全不是我的强项。 请帮我一下 我使用node.js 4.2.3 express 4.13.3。 我发现一些例子来encryption密码和密码的pbkdf2。 这是我的代码。 var salt = crypto.randomBytes(10).toString('base64'); console.log("salt > "+salt); crypto.pbkdf2(pass, salt , 10000, 150, 'sha512',function(err, derivedKey) { pass = derivedKey.toString('hex'); }); 最终的derivedKey不包含salt。 我错过了什么? 我应该在保存之前手动join两个string吗? 为什么一些例子使用base64和其他的hex ? 获得不同的string长度? 什么是默认的,所以我可以使用它? 为什么不在salt和哈希密码中使用basic64 ? 最终的derivedKeystring是UTF8吗? 或者只有在数据库被保存的情况下才能做到这一点? 我的数据库是UTF8。 谢谢

使用node-webkit本地安全密码

我必须在我的应用程序本地保存密码。 不幸的是,我不能只是散列它们,因为每次应用程序启动时都必须使用它。 有没有可能保存密码,并保持所有其他程序远离打开它。 我从Android知道,你不必介意这一点,因为操作系统做的一切。 node-webkit(Windows)中是否也有可能? 提前感谢!

阅读Java中的encryption密码

我在javascript / nodejsencryption密码下面的代码。 我需要在Java中读取这些密码: encryptPassword: function(password, salt) { var salt = new Buffer(salt, 'base64'); return crypto.pbkdf2Sync(password, salt, 10000, 64).toString('base64'); } 我使用这种方法来创buildencryption的密码进行testing。 这是结果(如javavariables): static String password = "123456"; static String salt = "CPvFo+klD9Vh2iE07JEGXA=="; public final String encrypted = "LtStqkNQjrr+P4V8fGtnauNJNOIB7t35O5I4a4/I9lFUnMR3ckbZyT85g/wO0Da9318Wrql/y1bsY2XdpXqx+Q=="; 我试图将上面的encryption代码转换为java,使用这个http://www.javacodegeeks.com/2012/05/secure-password-storage-donts-dos-and.html : public static byte[] getEncryptedPassword(String password, byte[] salt) throws NoSuchAlgorithmException, InvalidKeySpecException { String algorithm = "PBKDF2WithHmacSHA1"; […]

在本地机器上安全地存储密码

我正在构build一个node.js命令行工具,用于在需要存储用户密码的桌面上运行。 有没有一个“标准”的方式来做到这一点? 如果不是,我应该把它存储在一个encryption文件的地方? 如果是这样,什么位置? 我想这样工作的方式是第一次用户运行我的模块,它会提示他们创build一个密码。 然后它会以某种方式存储该密码。 在稍后的运行中,它将检索并使用该密码,而用户不必重新input密码。 注意:我需要能够以string的forms检索密码。 换句话说,我不能存储密码的散列。