dポイントプレゼントキャンペーン実施中!

SQL Serverよりテーブルデータをバックアップし、*.outファイルを作成します。
そのデータを再び取り込む時に、個人を特定できる氏名や住所等を全く別のものへ置き換えるプログラムを考えています。

ヒントとして漢字のShift→EUC等の変換を考えれば答えは見えてくると言われました。

例)武田仁志 → 佐々木案や佐々 木案など、名前として認識できなくても構わないです。
漢字を違う漢字へ置き換えるってイメージです。

作成する環境としてはWindows2000、VB6です。これだけでは何とも言えないかもしれませんが、何か良い案がある方はご教授願います。

A 回答 (2件)

私の使っている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

参考URL:http://tohoho.wakusei.ne.jp/wwwkanji.htm

この回答への補足

ソース公開ありがとうございます。
試しに使ってみた所、確かに違う文字には変換されたようなのですが、日本語として認識出来ないレベルの文字になってしまいます。そんなものなのでしょうか?

補足日時:2004/11/29 09:31
    • good
    • 0

要は ぱっと見て個人情報だって解らない様に


でも元に戻せるようにすればいいのですよね

暗号化ソフトを使えば一番ですが、
それ以外の解決策としては

1バイト読んで その中のビット構成を変える
例えば 
1ビット目は7ビット目に
2ビット目は4ビット目に....

これでぐちゃぐちゃになって読めないでしょう
元に戻す時はその反対にしたら元に戻ります

この回答への補足

早々の回答ありがとうございます。

今回作ったのをもっと広く使っていくつもりなので、テーブル項目もそのときに違ってくると思うので…。暗号化ソフトは今回は使えそうにありませんでした。

その話はひとまず置いておいて、ビット構成を変えるという事ですが、私まだVB初めて間もないので、出来れば簡単なプログラム例などをあげて頂けれると助かります。

それと、1ビット目を7ビット目等に変えると漢字はそのまま漢字として別の文字に入れ替える事になるのでしょうか?
ちなみに、元に戻す必要はありません。

補足日時:2004/11/21 23:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!