문제

문자열을 새 문자열로 압축/변환하고 싶습니다.

IE : 입력 문자열 :

USERNAME/REGISTERID

압축 후 출력 문자열 :

<some-string-in-UTF8-format>

압축 압축 후 출력 문자열 :

USERNAME/REGISTERID

이 변환에 대한 압축 또는 해시 방법이 있습니까?

Java를 사용하여 일부 솔루션 또는 기본 프로세스 단계가있는 알고리즘을 선호합니다.

이미 Huffman 변환을 읽고 사용하려고 노력하지만 압축 출력은 바이트 아웃 바운드 UTF-8 숯으로 구성됩니다.

도움이 되었습니까?

해결책

보세요 베이스 64, 커먼즈 코데, 등.

커먼즈 코드는 매우 간단합니다 Base64 클래스 사용.

해싱 함수는 일반적으로 일방 통행만이어야하므로 해시 함수를 사용할 수 없습니다. 즉, MD5 또는 SHA1 HASH가 주어지면 소스 메시지가 무엇인지 알아 내기 위해 해독 할 수 없어야합니다.

다른 팁

당신은 사용할 수 있습니다 zipoutputStream.

    ByteArrayOutputStream result = new ByteArrayOutputStream();
    new ZipOutputStream(result).write("myString".getBytes());
    byte[] bytes = result.toByteArray();

올바른 문자열 인코딩을 알아 내면됩니다. 이 경우는 a로 완료됩니다 Base64 표현.

보다 아이콘 그리고 mb_convert_encoding. 인코딩을 위해 고려할 수 있습니다 base64_encode.

이름이 제안한대로 식별자에 대한 데이터베이스 ID가있는 경우이 번호를 인코딩으로 사용하지 않는 이유는 무엇입니까? (원하는 경우 문자열로 넣으십시오).

압축 알고리즘을 사용하여 더 나은 압축을 얻지 않기를 바랍니다. 모두 헤더가 필요하고 헤더 크기 자체가 입력 문자열보다 길을 것입니다.

누군가가 사용자 이름/비밀번호 조합을 난독 화하도록 요구하는 것 같습니다. 이것은 아마도 좋은 생각이 아닐 것입니다. 왜냐하면 그것은 아무것도없는 보안을 제안하기 때문입니다. 이를 위해 ROT13 암호화를 구현하고 Double Rot13을 사용하여 해독 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top