9 lines
No EOL
421 B
TypeScript
9 lines
No EOL
421 B
TypeScript
// src/lib/hashing-client.ts
|
|
// src/lib/hashing-client.ts
|
|
export async function calculateFileHash(file: File): Promise<string> {
|
|
const arrayBuffer = await file.arrayBuffer();
|
|
// Native browser API (SubtleCrypto)
|
|
const hashBuffer = await crypto.subtle.digest('SHA-256', arrayBuffer);
|
|
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
|
|
} |