웹(java)와 MFC간의 캐릭터셋으로 인한 MD5값 문제입니다.

cool1920의 이미지

질문 드립니다.

웹(java)이 서버, MFC는 클라이언트인 문자전송프로그램을 구현하고 있는데요.

클라이언트에서 값을 전달해주기 위해서 http프로토콜 get방식으로 서버에 값을 전달합니다.

클라이언트 메세지 창에서 뷁햏 이런글자들을 치면,

서버쪽에서 제대로 처리를 못해줘서 원인을 알아봤더니

리눅스캐릭터셋이 euc-kr로 설정되어 있더군요.

그래서 euc-kr이던걸 utf-8로 설정을 바꿔주고요,

java 소스에서 new String(msg.getBytes("8859_1"), "MS949") 이렇게 수정주니까...

디비에도 잘 들어가고 문자발송에도 문제가 없는데요.

문제는... 데이터가 깨진것을 방지하기 위해서 받은값들을 MD5를 처리해서 클라이언트에서 받은값과 비교해주는데요.

MD5값과 틀리게 나오네요. 서버쪽에서 뷁, 햏이런 문자들을 "?"로 처리되고 그 값을 MD5처리합니다.

로그를 보고 MD5값를 확인할 수 있는 사이트에서 확인하니 확실히 "?"값을 가지고 MD5처리합니다.

제대로 된 글자하고 MD5처리를 해야하는데 말이죠...

그런데 디비(디비도 utf8케릭터셋입니다.)에는 제대로된 글자가 들어갑니다.

뭐가 문제인지 모르겠네요.

어디부터가 잘못된걸까요. ;;

알려주세요. ㅠㅠ

벌써 일주일이 넘어갑니다. ㅠㅠ

ljs0766의 이미지

저같은 경우는 아예 클라이언트/서버간 메시지 송수신 때 base64 인코딩/디코딩을 이용합니다.
클라이언트에서 한글 문자열을 base64로 인코딩해서 그 결과값을 서버로 보내고
서버에선 받은 값을 base64로 디코딩해서 처리하고 이런식으로요 ^^

저런식으로 하면 MD5 처리는 인코딩된 값을 가지고 하면 되겠죠.

뭐 저는 저런식으로 처리했었습니다...제가 비슷한 상황에 있었을 때는요..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.