func GenerateSalt(ctx context.Context) (*base64url.Value, error) {
	err := ctxutil.ErrIfDone(ctx)
	if err != nil {
		return nil, err
	}

	salt := make([]byte, saltBytes) // 16
	_, err = rand.Read(salt)
	if err != nil {
		return nil, err
	}

	return base64url.NewValue(salt), nil
}
// GenerateSalt returns a 16-byte (128 bit) salt used in password and secret
// key derivation.
GenerateSalt returns a 16-byte (128 bit) salt used in password and secret
key derivation.
// GenerateSalt returns a 16 - byte ( 128 bit ) salt used in password and secret // key derivation .
func GenerateSalt(ctx context.Context) (*base64url.Value, error) {
	err := ctxutil.ErrIfDone(ctx)
	if err != nil {
		return nil, err
	}
	salt := make([]byte, saltBytes) 
	_, err = rand.Read(salt)
	if err != nil {
		return nil, err
	}
	return base64url.NewValue(salt), nil
}
func GenerateSalt ( ctx context . Context ) ( * base64url . Value , error ) { err := ctxutil . ErrIfDone ( ctx ) if err != nil { return nil , err } salt := make ( [ ] byte , saltBytes ) _ , err = rand . Read ( salt ) if err != nil { return nil , err } return base64url . NewValue ( salt ) , nil }
GenerateSalt returns a 16-byte (128 bit) salt used in password and secret
key derivation.
GenerateSalt returns a 16 - byte ( 128 bit ) salt used in password and secret key derivation .
// 16