Skip to content

Commit 6040e96

Browse files
committed
update hashing
1 parent 4e8aa63 commit 6040e96

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

src/client/eppo-precomputed-client.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -702,7 +702,7 @@ describe('EppoPrecomputedClient E2E test', () => {
702702
client.setSubjectSaltAndPrecomputedFlagStore(
703703
'test-subject',
704704
{ attr1: 'value1' },
705-
encodeBase64(salt),
705+
salt,
706706
storage,
707707
);
708708

@@ -750,7 +750,7 @@ describe('EppoPrecomputedClient E2E test', () => {
750750
client.setSubjectSaltAndPrecomputedFlagStore(
751751
'test-subject',
752752
{},
753-
encodeBase64('sodium-chloride'),
753+
'sodiumchloride',
754754
store,
755755
);
756756
expect(client.getStringAssignment('test-flag', 'default')).toBe('default');

src/client/eppo-precomputed-client.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export default class EppoPrecomputedClient {
6767
private precomputedFlagsRequestParameters?: PrecomputedFlagsRequestParameters;
6868
private subjectKey?: string;
6969
private subjectAttributes?: Attributes;
70-
private decodedFlagKeySalt = '';
70+
private flagKeySalt = '';
7171
private precomputedFlagStore: IConfigurationStore<PrecomputedFlag>;
7272
private isObfuscated: boolean;
7373

@@ -80,8 +80,8 @@ export default class EppoPrecomputedClient {
8080
this.isObfuscated = isObfuscated;
8181
}
8282

83-
private setDecodedFlagKeySalt(salt: string) {
84-
this.decodedFlagKeySalt = salt;
83+
private setFlagKeySalt(salt: string) {
84+
this.flagKeySalt = salt;
8585
}
8686

8787
private setPrecomputedFlagsRequestParameters(parameters: PrecomputedFlagsRequestParameters) {
@@ -144,7 +144,7 @@ export default class EppoPrecomputedClient {
144144

145145
// A callback to capture the salt and subject information
146146
precomputedRequestor.onPrecomputedResponse = (responseData) => {
147-
this.setDecodedFlagKeySalt(decodeBase64(responseData.salt));
147+
this.setFlagKeySalt(responseData.salt);
148148
this.setSubjectData(responseData.subjectKey, responseData.subjectAttributes);
149149
};
150150

@@ -186,7 +186,7 @@ export default class EppoPrecomputedClient {
186186
) {
187187
this.setPrecomputedFlagStore(precomputedFlagStore);
188188
this.setSubjectData(subjectKey, subjectAttributes);
189-
this.setDecodedFlagKeySalt(decodeBase64(salt));
189+
this.setFlagKeySalt(salt);
190190
}
191191

192192
private getPrecomputedAssignment<T>(
@@ -312,7 +312,7 @@ export default class EppoPrecomputedClient {
312312
}
313313

314314
private getObfuscatedFlag(flagKey: string): DecodedPrecomputedFlag | null {
315-
const saltedAndHashedFlagKey = getMD5Hash(flagKey, this.decodedFlagKeySalt);
315+
const saltedAndHashedFlagKey = getMD5Hash(flagKey, this.flagKeySalt);
316316
const precomputedFlag: PrecomputedFlag | null = this.precomputedFlagStore.get(
317317
saltedAndHashedFlagKey,
318318
) as PrecomputedFlag;

src/obfuscation.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as SparkMD5 from 'spark-md5';
44
import { PrecomputedFlag } from './interfaces';
55

66
export function getMD5Hash(input: string, salt = ''): string {
7-
return new SparkMD5().appendBinary(salt).append(input).end();
7+
return new SparkMD5().append(salt).append(input).end();
88
}
99

1010
export function encodeBase64(input: string) {

0 commit comments

Comments
 (0)