Devendra Godawatta Ответов: 1

Преобразование Java-код, чтобы .ЧИСТЫЕ DLL ФАЙЛЫ


Мне нужно, чтобы приведенный ниже код java-скрипта был преобразован в DLL для связи с Vb.Сетевое приложение может мне кто-нибудь помочь.

пакет sage300;

импорт java.io.FileInputStream;
импорт java.io.FileOutputStream;
импорт Java.Ио.Исключение IOException;
импорт Java.Ио.Класса InputStream;
импорт Java.Ио.Клиенту OutputStream;

импорт javax.crypto.Шифр;
импорт javax.crypto.CipherInputStream;
импорт javax.crypto.CipherOutputStream;
импорт javax.crypto.SecretKey;
импорт javax.crypto.SecretKeyFactory;
импорт javax.crypto.spec.DESKeySpec;

публичный класс EncryptTTUM {

публичный статический пустота главный(строка[] аргументы) {
пробовать {
String key = "balaji23"; // для DES должно быть не менее 8 символов
если(args.длина == 1)
{
String fileName = args[0];
System.out.println("шифрование "+имя файла);
Строка encFileName = args[0]+".enc";

FileInputStream fis = новый FileInputStream(имя файла);
FileOutputStream fos = новый FileOutputStream(encFileName);

шифрование(ключ, fis, fos);
System.out.println("зашифрованное имя файла "+encFileName);
}
еще
{
System.out.println("недопустимый номер аргументов командной строки");
}
} catch (Throwable e) {
е.печатные();
}
}

общественная статический недействительным шифрования(ключ строки, InputStream является, перенаправляет ОС) бросает Throwable {
encryptOrDecrypt(ключ, шифр.ENCRYPT_MODE, есть ОС);
}

public static void decrypt(String key, InputStream is, OutputStream os) бросает Throwable {
encryptOrDecrypt(ключ, шифр.DECRYPT_MODE, есть ОС);
}

public static void encryptOrDecrypt(String key, int mode, InputStream is, OutputStream os) бросает Throwable {

DESKeySpec ДКС = новый DESKeySpec(ключ.метод getbytes());
SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");
SecretKey desKey = skf.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES"); // DES/ECB/PKCS5Padding для SunJCE

if (mode == шифр.ENCRYPT_MODE) {
cipher.init(шифр.ENCRYPT_MODE, desKey);
CipherInputStream cis = новый CipherInputStream(is, cipher);
doCopy(СНГ, ОС);
} else if (mode == шифр.DECRYPT_MODE) {
cipher.init(шифр.DECRYPT_MODE, desKey);
CipherOutputStream cos = новый CipherOutputStream(os, шифр);
doCopy(является, потому что);
}
}

общественная статический недействительным doCopy(InputStream является, перенаправляет ОС) бросает IOException {
byte[] bytes = новый байт[64];
int numBytes;
while ((numBytes = is.read(bytes)) != -1) {
os.write(байты, 0, numBytes);
}
ОС.флеш();
ОС.рядом();
это.рядом();
}

}

Что я уже пробовал:

Я попытался с помощью кода и преобразования АО в Windows, которое выпадает компиляции выдает ошибки ,

Я попытался ДЭС с использованием криптографических .Сеть, которая имеет разницу в преобразовании, как только вы конвертируете из .Net и он не будет извлекаться из Java, поэтому мне нужен этот приведенный выше код для преобразования в DLL для подключения в качестве ссылки на мой проект VB.

Richard MacCutchan

Java не генерирует код, совместимый с .NET, и не создает библиотеки DLL. Вам нужно найти другое решение. Если вы просто хотите использовать шифрование, то изучите его .Классы сетевого шифрования.

Devendra Godawatta

Нет, есть инструменты, которые могут быть преобразованы в оболочку DLL, как с помощью JSC, то, что я хочу, это не конвертировать Java .Net, но чтобы преобразовать его в DLL, чтобы ссылаться на него .Net у меня нет большого представления о Java Script чтобы изменить это если кто то знает Java он может это сделать я думаю

Richard MacCutchan

Если вы знаете, что есть инструменты для его преобразования, то вам нужно взять один из них и попробовать его. И, пожалуйста, перестаньте называть это Java-скриптом, это просто Java. Javscript-это нечто совершенно другое.

Dave Kreskowiak

Java не компилируется в dll-файлы. Когда-либо.

Если вам нужна библиотека dll, вам придется преобразовать код в другой язык и фреймворк, который скомпилируется до библиотеки DLL .

И если под "помощью" вы подразумеваете "сделать работу за вас", вы пришли не на тот сайт.

1 Ответов

Рейтинг:
0

RickZeeland

В прошлом было нечто под названием Визуальный J#, и хотя он прекращен, возможно, его все еще можно скачать: Visual J# Home[^]