Codificador bcrypt Base64
“Hello, world!” vira QETqZE6qGFbtakviGO no Base64 do bcrypt, o alfabeto OpenBSD que começa com ponto e barra e nunca acrescenta sinais de igual, a mesma forma usada no salt e no resumo de um hash bcrypt. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- Hello, world!
- Modo de cálculo
- Encode
- Resultado
- QETqZE6qGFbtakviGO
- Alfabeto
- bcrypt
- Conjunto de caracteres
- ./A-Za-z0-9
- Preenchimento
- none
Essa única reordenação do alfabeto basta para um decodificador Base64 padrão rejeitar um fragmento de salt ou digest como lixo, e para um codificador padrão produzir uma string que nunca coincidirá com um campo bcrypt real. Esta capacidade concentra-se exatamente nessa conversão: cole texto UTF-8 simples para codificar em bcrypt Base64, ou cole uma string do alfabeto bcrypt para decodificar de volta em texto legível, com erro de entrada inválida quando o alfabeto, o comprimento ou a carga UTF-8 estiverem errados.
Codifique texto com o alfabeto bcrypt Base64
O motor interpreta a string como texto Unicode, serializa-a em bytes UTF-8 e empacota esses bytes em grupos de seis bits exatamente como o Base64 clássico; em seguida mapeia cada grupo pela ordem OpenBSD: ponto, barra, A–Z, a–z e de zero a nove. Quando o comprimento em bytes não é múltiplo de três, o grupo final é emitido com dois ou três caracteres e sem preenchimento de iguais, no formato usado nos segmentos de salt e digest do bcrypt.
Strings vazias são válidas e codificam para um resultado vazio com zero bytes. Texto multilíngue, emoji e pontuação fazem ida e volta porque o caminho é UTF-8 completo, não um atalho Latin-1. A resposta sempre inclui result com a string bcrypt Base64, mode igual a encode, alphabet igual a bcrypt, charset igual a .
/A-Za-z0-9, padding igual a none, bytes igual ao comprimento UTF-8 antes da codificação e length igual à contagem de caracteres de result para que você possa afirmar tamanhos nos testes. Entradas idênticas sempre produzem saídas idênticas porque o algoritmo é aritmética pura, sem rede, sem salt aleatório e sem relógio de parede. Use este caminho sempre que precisar de uma representação segura para colar que combine com o alfabeto bcrypt, e não com o RFC 4648.
Decodifique bcrypt Base64 e trate entrada inválida
Defina mode como decode e coloque uma string bcrypt Base64 em text. Um comprimento cujo módulo quatro é um é rejeitado como malformado; grupos finais incompletos com bits residuais não nulos também são rejeitados para que clientes não escondam bits extras nas posições baixas não usadas. A decodificação bem-sucedida devolve result como a string recuperada, mode decode, alphabet bcrypt, charset .
/A-Za-z0-9, padding none, bytes como o comprimento UTF-8 decodificado e length como a contagem de caracteres do texto em claro. Prefira esta capacidade quando a intenção de busca for codificar ou decodificar bcrypt Base64 para interoperabilidade e educação; preenchimento padrão e cookies seguros para URL pertencem a outras páginas.
Quando o Base64 do bcrypt aparece na prática
Chame a ferramenta gratuita bcrypt Base64 no navegador para demonstrações de sala de aula, guias de suporte e conversões pontuais sem instalar OpenSSL ou runtimes de linguagem. Um fluxo típico codifica um vetor de teste curto para documentar como o alfabeto personalizado de uma biblioteca difere do RFC 4648, envia a amostra por um sistema de tickets e a decodifica no serviço receptor com mode decode afirmando que bytes coincide com o comprimento original.
Outro fluxo verifica se um exemplo da documentação ainda decodifica para o texto em claro documentado antes de um lançamento que toca o formato de hashes de senha. Autores que publicam SDKs podem mapear o campo result direto para um botão de copiar, enquanto os rótulos alphabet e padding tornam capturas e exemplos OpenAPI autoexplicativos para leitores que só conhecem o alfabeto clássico com sinais de igual.
Perguntas frequentes
Como codifico texto como bcrypt Base64?
O campo result contém bcrypt Base64 com o alfabeto . /A–Za–z0–9 e sem preenchimento.
Como decodifico bcrypt Base64 para texto?
Envie mode decode e coloque a string bcrypt Base64 em text.
É o mesmo que Base64 padrão?
Não. O bcrypt usa uma ordem diferente de 64 caracteres que começa com ./ e nunca usa preenchimento + / ou =. Strings Base64 padrão são rejeitadas na decodificação.
Isto calcula um hash de senha bcrypt?
Não. Apenas traduz dados com o alfabeto bcrypt Base64 usado dentro das strings de hash.
O codificador bcrypt Base64 é gratuito?
A ferramenta do navegador roda grátis no seu dispositivo.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/base64-bcrypt \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/base64-bcrypt", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base64-bcrypt",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base64-bcrypt", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base64-bcrypt", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Hello, world!"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base64_bcrypt",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Os hashes de senha bcrypt não usam o alfabeto Base64 cotidiano dos tutoriais JSON. O OpenBSD crypt e o crypt_blowfish mapeiam grupos de seis bits em um conjunto de sessenta e quatro caracteres que começa com ponto e barra, depois A–Z, a–z e dígitos, e nunca acrescentam sinais de igual para preenchimento. A ferramenta gratuita do navegador roda por completo no seu dispositivo para verificações rápidas ao inspecionar layouts de hash ou depurar interoperabilidade; a API pré-paga expõe o mesmo contrato determinístico a US$ 0,002 por item bem-sucedido para scripts, SDKs e pipelines que precisam de um passo estável de codificação e decodificação sem puxar uma biblioteca criptográfica só pela tradução do alfabeto.
Codifique texto com o alfabeto bcrypt Base64
Envie um corpo JSON com o campo de string obrigatório text definido para a mensagem em claro que deseja representar no alfabeto bcrypt, e deixe mode no padrão encode ou defina mode como encode de forma explícita. Os aliases opcionais input, value, s e data são aceitos para o mesmo campo quando você gera clientes a partir de nomes de formulário antigos.
Decodifique bcrypt Base64 e trate entrada inválida
Espaços, tabulações e quebras de linha no início e no fim são removidos para que colagens multilinha ainda funcionem, mas qualquer caractere fora do alfabeto bcrypt causa falha imediata invalid_input: o motor não remapeia em silêncio os símbolos padrão de mais e barra nem o preenchimento de iguais, porque isso embotaria a promessa do alfabeto OpenBSD e inventaria strings que nunca aparecem em campos bcrypt reais. Após a validação do alfabeto, os bytes recuperados são decodificados como UTF-8 com decodificador fatal: se a carga não for texto Unicode válido, você obtém invalid_input em vez de caracteres de substituição que corromperiam as telas posteriores. Falhas de validação não são cobradas na API pré-paga, de modo que sondar um fragmento suspeito é barato para operadores e seguro para usuários finais.
Uso da API, preços, fluxos e limites práticos
Use a API pré-paga do KIT quando um backend, uma função serverless ou um SDK precisar do mesmo passo de codificação ou decodificação sob saldo a US$ 0,002 por item bem-sucedido; validação falha nunca consome saldo após a rejeição do motor. Combine este endpoint com uma ferramenta Base64 padrão quando precisar mostrar diferenças de alfabeto lado a lado, mas mantenha os passos em páginas distintas para que cada uma corresponda a uma única intenção de busca.
Casos de integração
Depuração de layout de hash e interoperabilidade
Codifique e decodifique fragmentos de salt ou digest com o alfabeto bcrypt OpenBSD para que as saídas da biblioteca batam com as strings dos campos $2a$ e $2b$.
Documentação e checagens douradas de CI
Fixe fixtures de codificação e decodificação para que amostras de documentação e testes de integração contínua falhem rápido se o mapeamento do alfabeto bcrypt mudar.
Suporte e educação
Agentes e estudantes convertem texto com o widget gratuito do navegador, com erros invalid_input claros quando uma colagem usa por engano +/ padrão ou preenchimento de iguais.