@@ -173,25 +173,23 @@ function lookupPackageJson(cwd: string, stopAt: string): PackageJson | undefined
173
173
* Deterministically hashes a string and turns the hash into a uuid.
174
174
*/
175
175
export function stringToUUID ( str : string ) : string {
176
- const md5sum = crypto . createHash ( "md5" ) ;
177
- md5sum . update ( str ) ;
178
- const md5Hash = md5sum . digest ( "hex" ) ;
176
+ const sha256Hash = crypto . createHash ( "sha256" ) . update ( str ) . digest ( "hex" ) ;
179
177
180
178
// Position 16 is fixed to either 8, 9, a, or b in the uuid v4 spec (10xx in binary)
181
179
// RFC 4122 section 4.4
182
- const v4variant = [ "8" , "9" , "a" , "b" ] [ md5Hash . substring ( 16 , 17 ) . charCodeAt ( 0 ) % 4 ] as string ;
180
+ const v4variant = [ "8" , "9" , "a" , "b" ] [ sha256Hash . substring ( 16 , 17 ) . charCodeAt ( 0 ) % 4 ] as string ;
183
181
184
182
return (
185
- md5Hash . substring ( 0 , 8 ) +
183
+ sha256Hash . substring ( 0 , 8 ) +
186
184
"-" +
187
- md5Hash . substring ( 8 , 12 ) +
185
+ sha256Hash . substring ( 8 , 12 ) +
188
186
"-4" +
189
- md5Hash . substring ( 13 , 16 ) +
187
+ sha256Hash . substring ( 13 , 16 ) +
190
188
"-" +
191
189
v4variant +
192
- md5Hash . substring ( 17 , 20 ) +
190
+ sha256Hash . substring ( 17 , 20 ) +
193
191
"-" +
194
- md5Hash . substring ( 20 )
192
+ sha256Hash . substring ( 20 , 32 )
195
193
) . toLowerCase ( ) ;
196
194
}
197
195
0 commit comments