Calcular o MD5 em tempo real em um em um textarea com PHP

Para verificar se uma chave MD5 permanece a mesma em tempo real em PHP e Ajax, você pode usar a função md5() do PHP para calcular a chave MD5 do texto original e, em seguida, comparar a chave MD5 calculada com a chave MD5 recebida via Ajax.

Aqui está um exemplo de como verificar a chave MD5 em tempo real usando PHP e Ajax:

MD5 em tempo real usando jQuery e a biblioteca CryptoJS:

<!DOCTYPE html>
<html>
<head>
	<title>Verificação de chave MD5 em tempo real</title>
	<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
</head>
<body>
	<label for="texto">Digite o texto a ser criptografado:</label>
	<textarea id="texto" rows="5"></textarea>
	<div id="resultado"></div>

	<script>
		$('#texto').on('input', function() {
			var texto = $('#texto').val();
			var chave_md5 = CryptoJS.MD5(texto).toString();

			$('#resultado').html('Chave MD5: ' + chave_md5);
		});
	</script>
</body>
</html>

Nessa abordagem, o evento ‘input’ é usado para detectar mudanças no conteúdo do <textarea>. Quando o evento é acionado, a função anônima calcula a chave MD5 do texto usando a biblioteca CryptoJS e atualiza a div #resultado com o resultado.

Para usar a biblioteca CryptoJS em conjunto com o CKEditor 4, você precisa acessar o conteúdo do editor usando o método getData() do CKEditor e não o valor do campo textarea. Aqui está um exemplo de como você pode fazer isso:

<!DOCTYPE html>
<html>
<head>
    <title>Verificação de chave MD5 em tempo real</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
    <script src="https://cdn.ckeditor.com/4.16.2/standard/ckeditor.js"></script>
</head>
<body>
    <div class="mb-3">
        <label class="form-label" for="">O Contrato:</label>
        <textarea id="geral" name="contrato" class="form-control"></textarea>
    </div>
    <div id="resultado"></div>

    <script>
        CKEDITOR.replace('geral', {});
        CKEDITOR.instances.geral.on('change', function() {
            var texto = CKEDITOR.instances.geral.getData();
            var chave_md5 = CryptoJS.MD5(texto).toString();
            $('#resultado').html('Chave MD5: ' + chave_md5);
        });
    </script>
</body>
</html>

Neste exemplo, o evento change é adicionado ao editor CKEditor e sempre que o conteúdo do editor for alterado, a função é executada, recuperando o texto usando getData() e, em seguida, calculando a chave MD5 usando a biblioteca CryptoJS e exibindo o resultado na div com id resultado. Certifique-se de incluir o textarea do CKEditor dentro da tag form para que os dados sejam submetidos com o formulário.

Rolar para cima