I’m developing an ASP .Net MVC application. One of my actions requires id as a parameter. For example:
public actionresult Detail(Guid id){
return View();
}
As you can see, I’m using Guid instead of Int. The issue is more cosmetic. The url can be very long, such as localhost/Detail/0c157b42-379d-41d5-b9ba-83e9df9985b2.
Is it safe to take only parts of the Guid like localhost/Detail/0c157b42?
GUID is designed in such a way that it is intended to be unique, but any part of it is not. See this blog post for details. If you need to shorten the GUID take a good hash of it – like SHA-1 or (if you don’t have security concerns) MD5.