mirror of
https://mirror.skon.top/github.com/langgenius/dify.git
synced 2026-04-22 01:11:02 +08:00
Some checks failed
autofix.ci / autofix (push) Has been cancelled
Build and Push API & Web / build (api, {{defaultContext}}:api, Dockerfile, DIFY_API_IMAGE_NAME, linux/amd64, ubuntu-latest, build-api-amd64) (push) Has been cancelled
Build and Push API & Web / build (api, {{defaultContext}}:api, Dockerfile, DIFY_API_IMAGE_NAME, linux/arm64, ubuntu-24.04-arm, build-api-arm64) (push) Has been cancelled
Build and Push API & Web / build (web, {{defaultContext}}, web/Dockerfile, DIFY_WEB_IMAGE_NAME, linux/amd64, ubuntu-latest, build-web-amd64) (push) Has been cancelled
Build and Push API & Web / build (web, {{defaultContext}}, web/Dockerfile, DIFY_WEB_IMAGE_NAME, linux/arm64, ubuntu-24.04-arm, build-web-arm64) (push) Has been cancelled
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Has been cancelled
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Has been cancelled
Main CI Pipeline / Skip Duplicate Checks (push) Has been cancelled
Main CI Pipeline / Check Changed Files (push) Has been cancelled
Main CI Pipeline / Run API Tests (push) Has been cancelled
Main CI Pipeline / Skip API Tests (push) Has been cancelled
Main CI Pipeline / API Tests (push) Has been cancelled
Main CI Pipeline / Run Web Tests (push) Has been cancelled
Main CI Pipeline / Skip Web Tests (push) Has been cancelled
Main CI Pipeline / Web Tests (push) Has been cancelled
Main CI Pipeline / Run Web Full-Stack E2E (push) Has been cancelled
Main CI Pipeline / Skip Web Full-Stack E2E (push) Has been cancelled
Main CI Pipeline / Web Full-Stack E2E (push) Has been cancelled
Main CI Pipeline / Style Check (push) Has been cancelled
Main CI Pipeline / Run VDB Tests (push) Has been cancelled
Main CI Pipeline / Skip VDB Tests (push) Has been cancelled
Main CI Pipeline / VDB Tests (push) Has been cancelled
Main CI Pipeline / Run DB Migration Test (push) Has been cancelled
Main CI Pipeline / Skip DB Migration Test (push) Has been cancelled
Main CI Pipeline / DB Migration Test (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
/**
|
|
* Field Encoding Utilities
|
|
* Provides Base64 encoding for sensitive fields (password, verification code)
|
|
* during transmission from frontend to backend.
|
|
*
|
|
* Note: This uses Base64 encoding for obfuscation, not cryptographic encryption.
|
|
* Real security relies on HTTPS for transport layer encryption.
|
|
*/
|
|
|
|
/**
|
|
* Encode sensitive field using Base64
|
|
* @param plaintext - The plain text to encode
|
|
* @returns Base64 encoded text
|
|
*/
|
|
function encryptField(plaintext: string): string {
|
|
try {
|
|
// Base64 encode the plaintext
|
|
// btoa works with ASCII, so we need to handle UTF-8 properly
|
|
const utf8Bytes = new TextEncoder().encode(plaintext)
|
|
const base64 = btoa(String.fromCharCode(...utf8Bytes))
|
|
return base64
|
|
}
|
|
catch (error) {
|
|
console.error('Field encoding failed:', error)
|
|
// If encoding fails, throw error to prevent sending plaintext
|
|
throw new Error('Encoding failed. Please check your input.')
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Encrypt password field for login
|
|
* @param password - Plain password
|
|
* @returns Encrypted password or original if encryption disabled
|
|
*/
|
|
export function encryptPassword(password: string): string {
|
|
return encryptField(password)
|
|
}
|
|
|
|
/**
|
|
* Encrypt verification code for email code login
|
|
* @param code - Plain verification code
|
|
* @returns Encrypted code or original if encryption disabled
|
|
*/
|
|
export function encryptVerificationCode(code: string): string {
|
|
return encryptField(code)
|
|
}
|