I am new to Java and I need to develop a desktop application with JavaFx. Cross platform independence,rich GUI,modularity,easy maintenance are the key goals of the application. I also need to communicate to the hardware using serial port communication.
Will it be better to use some 3rd party frame work for JavaFx or can I do the implementation in MVC pattern?
Since this is the first piece of work that I will be doing using Java, are there any checkpoints that I need to focus on before starting off with the development? Please share your suggestions.
Q&A for work. A dedicated place to share your team’s knowledge. How to use KeyEvent in JavaFX project? Ask Question 1. I have searched for a long time for how to write a KeyEvent to allow my Button clicks by ENTER key. Note that I'm using JavaFX and FXML files.
SCJP 1.4, OCMJEA/SCEA 5.0.
I want to make an desktop application that only runs on machines that have key or licence.How this can be achieved?
closed as too broad by JasonMArcher, gnat, Jeffrey Bosboom, mario, DeduplicatorJun 11 '15 at 23:35
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
This depends entirely on how secure you want to make it..
The problem with Java is that you can reverse compile it. So if someone wanted to, they could download your software, reverse compile it, and then remove whatever security you have put in place (and then redistribute it if they wanted).
This is only a problem if you plan on going mass market and selling it and piracy would actually be a problem though.
If you're not concerned about this, then you can either go for online, or offline checking.
The company I work with uses the online method; there are a few steps:
EDIT: I've since changed how this works, as the old way was a maintenance nightmare.
Serialkey preview: 1137-1165-9606-2689-7413-7211 1137-1926-5740-7538-4450-1376 1137-1111-5889-0767-5177-6036 1137-1152-0668-3861-2435-3551 1137-1813-8177-4681-2338-5050 1137-1611-3858-9386-7757-5551 1137-153.
- A license file
- (this can contain whatever you want in reality, it just has to be unique per user. Most people normally go with general garb;
- and then a
key. i.e. the
JDU8-AJS9-88DF-SASF-ASF9kind of thing you often see.
- The program generates a hash from the license file.
- put all the data from the license file into a string
- pass the string to a hashing function this page can show you how.
- have the program check online (on your server). The data gets encoded in an HTML request (post/get/json/whatever you want) and submitted to your license verification page, which then verifies the data. Included in the data is a randomly generated string, which is used by the verification page to generate another password. This is then returned to the program, which has also used the random string to generate its own password. If the two match, the program starts up.
To generate the keys, just use the same hashing function, and then upload the hash to your server.
If you want it to be offline, you could include the hashes in the code I guess and check against them there.
Elite dangerous product key. Elite Dangerous Keygen Screenshot How is that possible? So What are you waiting for?
I should point out, however, that I'm not a security expert by any means, I just develop for a company as a portion of a Ph.D. and this is just how I did it.
Edit: this image might be helpful:
I have now included 'offline verification' in the process. It's not really offline verification, it just uses the user as a proxy - they need to access the internet another way.
it works like this:
- no internet connection found: supply the user with a 4 digit code
- user goes to offline verification page (optimized for mobile use too)
- user selects which software they use from the dropdown list
- user enters their username (this field remembers entries)
- user enters the code the program gave them and submits
- webpage provides a 4 digit code, which they then enter into the program, and it starts.
- program adds some special data to the license file meaning that this process won't need to be repeated for the next week/month/however long.
every time the program successfully verifies online, it also adds an offline access password to the license file, which means it's robust against temporary internet downtime, and will only stop working if the internet is down for more than a week/month/however long it's set up to work for.willwill
You can track licencing of a machine with macIP on online . Even in windows you can write in registry there is no api but still you can do it. Find snippet bellow to read registry -
And in class level if you want to obfuscate use proGuard .
Serial Key For Your UninstallerSubhrajyoti MajumderSubhrajyoti Majumder
it depends how many customer you plan to have and the distribution mode also. You may use a licence server but this require an internet connection for the customer. You can also use USB dongles to manage licencing.
There are no perfect system you need to make a comproise between simplicity, effort and price.