Skip to content

Commit 27790ed

Browse files
committed
BUG: Lorem prefix for vigenere breaks last lesson
1 parent 8f9599d commit 27790ed

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

trainingportal/qna.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ if(!util.isNullOrUndefined(process.env.CHALLENGE_MASTER_SALT)){
99
masterSalt=process.env.CHALLENGE_MASTER_SALT;
1010
}
1111

12-
let getSecretText = () => {
12+
let getSecretText = (challengeId) => {
1313
let min = 0;
1414
let max = dictionary.length - 1;
1515
secretText = "";
16+
if(challengeId === "crypto_vigenere"){
17+
secretText = "LOREM ";
18+
}
19+
1620
for(let i=0;i<SECRET_WORD_COUNT;i++){
1721
let index = util.getRandomInt(min,max);
1822
secretText += dictionary[index];
@@ -36,7 +40,7 @@ let getCode = (challengeId, message, key) => {
3640
mes = message;
3741
}
3842
else{
39-
mes = getSecretText();
43+
mes = getSecretText(challengeId);
4044
}
4145

4246
return DEFS[challengeId](mes, key);
@@ -79,10 +83,9 @@ let caesarEnc = (mes, key) => {
7983
return getRes(mes, shifted);
8084
}
8185

82-
let vigenereEnc = (m, key) => {
86+
let vigenereEnc = (mes, key) => {
8387
let keyArray = [];
8488
let keyLen = 3;
85-
let mes = "LOREM " + m;
8689

8790
if(util.isNullOrUndefined(key)){
8891
for(let i = 0; i<keyLen; i++){

trainingportal/test/qna.test.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ describe("qna", () => {
2222
for(let alg in qna.DEFS){
2323
if(alg === "crypto_analysis") continue;
2424
let res = qna.getCode(alg,text);
25-
if(alg === "crypto_vigenere") text = "LOREM " + text;
2625
let check = qna.checkCode(text, res.digest);
2726
assert(check === true, `Validation failed for correct text using ${alg}`);
2827
}
@@ -38,6 +37,15 @@ describe("qna", () => {
3837

3938
});
4039

40+
41+
test("crypto_analysis should return the correct key",()=>{
42+
let text = "LOREM IPSUM DOLOR";
43+
let expected = "cfbb636cdce11fc76cdea0eec6bd98945cc025855707121df84c62fdefcbdf30";
44+
let res = qna.getCode("crypto_analysis",text);
45+
let check = qna.checkCode(expected, res.digest);
46+
assert(check === true, `Validation failed for correct text in crypto_analysis`);
47+
});
48+
4149
});
4250

4351

0 commit comments

Comments
 (0)