- 締切済み
漢字変換
SQL Serverよりテーブルデータをバックアップし、*.outファイルを作成します。 そのデータを再び取り込む時に、個人を特定できる氏名や住所等を全く別のものへ置き換えるプログラムを考えています。 ヒントとして漢字のShift→EUC等の変換を考えれば答えは見えてくると言われました。 例)武田仁志 → 佐々木案や佐々 木案など、名前として認識できなくても構わないです。 漢字を違う漢字へ置き換えるってイメージです。 作成する環境としてはWindows2000、VB6です。これだけでは何とも言えないかもしれませんが、何か良い案がある方はご教授願います。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kasukon
- ベストアンサー率0% (0/0)
私の使っているEUC→SJISの変換は↓こんな感じです。 どこかのホームページからコピーして使っています。 Private Sub EucToSJis(lngLen As Long, bytData() As Byte) Dim i As Long For i = 0 To lngLen - 1 Select Case True Case bytData(i) < &HA1 Case bytData(i + 1) < &HA1 Case Else If bytData(i) Mod 2 = 0 Then bytData(i + 1) = bytData(i + 1) - &H2 Else bytData(i + 1) = bytData(i + 1) - &H61 If bytData(i + 1) > &H7E Then bytData(i + 1) = bytData(i + 1) + 1 End If End If If bytData(i) < &HDF Then bytData(i) = bytData(i) + 1 bytData(i) = bytData(i) \ 2 bytData(i) = bytData(i) + &H30 Else bytData(i) = bytData(i) + 1 bytData(i) = bytData(i) \ 2 bytData(i) = bytData(i) + &H70 End If i = i + 1 End Select Next End Sub
- deecyan
- ベストアンサー率38% (89/233)
要は ぱっと見て個人情報だって解らない様に でも元に戻せるようにすればいいのですよね 暗号化ソフトを使えば一番ですが、 それ以外の解決策としては 1バイト読んで その中のビット構成を変える 例えば 1ビット目は7ビット目に 2ビット目は4ビット目に.... これでぐちゃぐちゃになって読めないでしょう 元に戻す時はその反対にしたら元に戻ります
補足
早々の回答ありがとうございます。 今回作ったのをもっと広く使っていくつもりなので、テーブル項目もそのときに違ってくると思うので…。暗号化ソフトは今回は使えそうにありませんでした。 その話はひとまず置いておいて、ビット構成を変えるという事ですが、私まだVB初めて間もないので、出来れば簡単なプログラム例などをあげて頂けれると助かります。 それと、1ビット目を7ビット目等に変えると漢字はそのまま漢字として別の文字に入れ替える事になるのでしょうか? ちなみに、元に戻す必要はありません。
補足
ソース公開ありがとうございます。 試しに使ってみた所、確かに違う文字には変換されたようなのですが、日本語として認識出来ないレベルの文字になってしまいます。そんなものなのでしょうか?