입력 문자열이 문자열로 압축되었습니다
-
18-09-2019 - |
문제
문자열을 새 문자열로 압축/변환하고 싶습니다.
IE : 입력 문자열 :
USERNAME/REGISTERID
압축 후 출력 문자열 :
<some-string-in-UTF8-format>
압축 압축 후 출력 문자열 :
USERNAME/REGISTERID
이 변환에 대한 압축 또는 해시 방법이 있습니까?
Java를 사용하여 일부 솔루션 또는 기본 프로세스 단계가있는 알고리즘을 선호합니다.
이미 Huffman 변환을 읽고 사용하려고 노력하지만 압축 출력은 바이트 아웃 바운드 UTF-8 숯으로 구성됩니다.
해결책
커먼즈 코드는 매우 간단합니다 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을 사용하여 해독 할 수 있습니다.