1

データベースへの 4 桁の PIN として暗号化および復号化する必要があり、問題が発生しています。Base64 を使用する例を使用してみましたが、パッケージをインポートした後でもクラスが見つかりません。私は何を間違っていますか?以下のクラスが正しい可能性があることは理解していますが、クラスを見つけてオブジェクトを作成できないのはなぜですか。Eclipse で参照ライブラリの Base64 クラスに移動すると、「ソースが見つかりません」と表示されます。

import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import org.apache.commons.codec.binary.Base64;

public class PasswordEncryption {

    private static Random random = new Random((new Date()).getTime());

    public static String encrypt(String userId) {  
        Base64() encoder = new Base64();
        byte[] salt = new byte[8];
        random.nextBytes(salt);
        return encoder.encode(salt)+
        encoder.encode(userId.getBytes());
    }

    public static String decrypt(String encryptKey) {
        if (encryptKey.length() > 12) {
            String cipher = encryptKey.substring(12);
            BASE64Decoder decoder = new BASE64Decoder();
            try {
                return new String(decoder.decodeBuffer(cipher));
            } catch (IOException e) {
                //  throw new InvalidImplementationException(
                //    "Failed to perform decryption for key ["+encryptKey+"]",e);
            }
        }         
        return null;
    }
}

これらのフォーラムを正しく使用していない場合はお詫び申し上げます。これが私の最初の投稿です。

ありがとう

4

1 に答える 1

1

Apache Commons Codecをダウンロードする必要があると思います。jar をダウンロードしたら、それをビルド パスのライブラリとして Eclipse プロジェクトに追加する必要があります。(すでにこれを行っている場合は申し訳ありません。あなたの投稿からは明らかではありません。)

完了しても、Eclipse でソースを表示することはできませんが、実行するとプロジェクトが機能するはずです。

于 2013-04-06T10:22:57.570 に答える