Skip to content

Commit 91f4d67

Browse files
committed
Increase Randomness of AdvanceEnc Marker
1 parent 4e669fa commit 91f4d67

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

src/javascript/CoreHandler.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
CheckLuhnBit,
2222
packByte,
2323
unpackByte,
24+
GetRandomIndex,
2425
} from "./Misc.js";
2526

2627
export class WenyanConfig {
@@ -189,7 +190,16 @@ export function Enc(
189190

190191
if (AdvancedEncObj.Enable) {
191192
//加上高级加密标头
192-
OriginStr = ADVANCED_ENC_MAGIC + OriginStr;
193+
//OriginStr = ADVANCED_ENC_MAGIC + OriginStr;
194+
195+
let InsertRange = OriginStr.length > 10 ? 10 : OriginStr.length - 1;
196+
197+
let InsertIndex = GetRandomIndex(InsertRange);
198+
199+
OriginStr =
200+
OriginStr.slice(0, InsertIndex) +
201+
ADVANCED_ENC_MAGIC +
202+
OriginStr.slice(InsertIndex);
193203
}
194204

195205
try {
@@ -237,9 +247,13 @@ export function Dec(
237247

238248
let TempStr2Int = new Uint8Array();
239249

240-
if (TempStr1.slice(0, 2) === ADVANCED_ENC_MAGIC) {
250+
if (TempStr1.slice(0, 13).indexOf(ADVANCED_ENC_MAGIC) !== -1) {
241251
//检测高级加密标志
242-
TempStr1 = TempStr1.slice(2);
252+
253+
TempStr1 =
254+
TempStr1.slice(0, TempStr1.slice(0, 13).indexOf(ADVANCED_ENC_MAGIC)) +
255+
TempStr1.slice(TempStr1.slice(0, 13).indexOf(ADVANCED_ENC_MAGIC) + 2); //移除高级加密标志
256+
243257
AdvancedMarker = true;
244258
}
245259

0 commit comments

Comments
 (0)