-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpiano.js
More file actions
73 lines (61 loc) · 26.1 KB
/
Copy pathpiano.js
File metadata and controls
73 lines (61 loc) · 26.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
function clicked(element) {
val = keyVal(element)
//console.log('clicked ' + val)
addChoice(val)
print()
verify()
return false;
}
function onover(element) {
val = keyVal(element)
//console.log('over ' + val)
$("#current").text(val)
}
function onout(element) {
//console.log('out of ' + keyVal(element))
$("#current").text('')
}
var CORRECT = 'fe372b9edacb99e7e12c80d9712eb3a63b52e8ad12866214d25be0cbf8503704'
var NEXT = '{"iv":"DMq2yh1I6KfeQmASB9lJsQ==","v":1,"iter":10000,"ks":128,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"w8m8cjcRo7k=","ct":"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"}'
var buff = []
function addChoice(value) {
buff.unshift(value)
while (buff.length > 8) {
buff.pop()
}
}
function print() {
for (var i = 0; i < 8; i++) {
$("#c" + i).text(buff[i])
}
}
function verify() {
if (buff.length != 8) return
var content = ""
for (var i = 7; i >= 0; i--) {
content += '-'
content += buff[i]
}
var hash = sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(content))
console.log(content + ": " + hash)
if (hash == CORRECT) {
console.log('correct ' + hash)
plain = sjcl.decrypt(content, NEXT)
$('#solution').html(plain)
}
}
function keyVal(element) {
return element.getAttribute('id').replace(/^a/, "")
}
$(document).ready(function(event) {
// init('-42-42-42-42-42-42-42-42', "Init html");
// console.log("CORRECT: " + CORRECT)
// console.log("NEXT: " + NEXT)
})
function init(pwd, msg) {
hash = sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(pwd))
cypher = sjcl.encrypt(pwd, msg)
if (sjcl.decrypt(pwd, cypher) != msg) console.log('Unable to decompress')
CORRECT = hash
NEXT = cypher
}