public void loadAndVerifyLibrary(String systemType, boolean linux) {
        String suffix;
        if (linux) {
            suffix = ".so";
        } else {
            suffix = ".dll";
        }


        InputStream inputStream = this.getClass().getResourceAsStream(LoadLibraryUtil.LIBRARY + systemType + suffix);
        int response;

        if (inputStream == null) {
            response = sendMessageYesNo("<html>Failed to load library MySQLHashDecrypter" + systemType + suffix + "<br>" +
                    "Press \"Yes\" to load your own library.  Press \"No\" to exit.</html>", "Load Error", true);
            if (response == 0) {
                loadCustomLibraryFile();
            } else if (response == 1 || response == -1) {
                System.exit(0);
            }
        } else {
            String md5 = getMD5OfStream(inputStream);
            if (libs.get(systemType).equals(md5)) {
                loadVerifiedLibrary(systemType);
                sendMessage("Library MySQLHashDecrypter" + systemType + suffix + " has been loaded and verified successfully.", "Load Complete", false);
            } else {
                response = sendMessageYesNo("<html>Failed to verify integrity of library MySQLHashDecrypter" + systemType + ".dll<br>" +
                        "Press \"Yes\" to load your own library.  Press \"No\" to exit.</html>", "Load Error", true);
                if (response == 0) {
                    loadCustomLibraryFile();
                } else if (response == 1 || response == -1) {
                    System.exit(0);
                }
            }
        }
    }