Convert a SID to String with Java

A security identifier (SID) is an unique identifier, commonly used in Microsoft’s systems. For example, it’s used to identify users within Windows, or, more generally, within an Active Directory.

The SID is a binary value, with a variable length, that can be also be represented as a string. This conversion is implemented by the function called ConvertSidToStringSid, provided by the library Advapi32.dll, available only in Windows.

Hence, if you need to perform this conversion, you can procede with one of these two paths:

  • Use Advapi32 (only in Windows)
  • Rewrite the conversion
Thus, it’s very useful to have that implementation in a particular language (in our case Java), to be used everywhere. I noticed that, after a research in Internet, all the implementations are wrong, despite they work in general. Therefore, I decided to write my own implementation, thoroughly tested to prove you its correctness.

Read more

Miro Rubix comes back!

Hi! I just put online again the Miro Rubix game for PC and for PSP! A simple puzzle inspired by the famous game called Rubik’s Cube. The puzzle starts with two equal pictures where only the left one is mixed in various boxes. Moving the columns and the rows of the left one, you just have to form the picture on the right. The game comes with few puzzles. Some puzzles are classic, they contains only boxes with few colors; the other was created using various photos. But, you can create your own puzzle with your own photos!

Read more

Network Time Protocol request in C#

I’m writing an application in C# that needs to know if the system time is not fake (only if the network is on). For this reason, I make a class that retrieves the time from a NTP server. The class is written to prevent that the same servers are called too often using a simple circular array. For the data returned by the servers, I invite you to see the RFC-2030.

Read more

ExitWindowsEx in C#

I post you my simple class to shutdown, reboot and logoff Windows using the famous ExitWindowsEx. Each method is overloaded with another that force the action, in other words, it executes the action without prohibiting Windows to send the WM_QUERYENDSESSION message. With the latter way, the user can’t cancel it.

Read more

Hide Console Window in C#

I just made a silent application to check how much time my brother stay on his computer. But, I needed to make an application that doesn’t show any window. Now, I show you my personal solutions to do this for the Console Application Projects and for the Windows Forms Application Projects.

Read more