Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. /**
  2. * Created by IntelliJ IDEA.
  3. * User: akshay
  4. * Date: 2019-08-10
  5. * Time: 15:41
  6. */
  7. package com.example.UrlShortener.Services;
  8.  
  9. import com.example.UrlShortener.Models.Link;
  10. import com.example.UrlShortener.Repositories.LinkRepository;
  11. import org.springframework.stereotype.Service;
  12.  
  13. import java.security.MessageDigest;
  14. import java.security.NoSuchAlgorithmException;
  15.  
  16. @Service
  17. public class LinksService {
  18.  
  19. private LinkRepository linkRepository;
  20.  
  21. public LinksService(LinkRepository linkRepository) {
  22. this.linkRepository = linkRepository;
  23. }
  24.  
  25. public String MD5(String md5) throws NoSuchAlgorithmException {
  26. MessageDigest md = MessageDigest.getInstance("MD5");
  27. byte[] array = md.digest(md5.getBytes());
  28. StringBuilder sb = new StringBuilder();
  29. for (byte b : array) {
  30. sb.append(Integer.toHexString((b & 0xFF) | 0x100).substring(1, 3));
  31. }
  32. return sb.toString().subSequence(0,6).toString();
  33. }
  34.  
  35. public Link shortenUrl(String longUrl) throws Exception {
  36. Link link = linkRepository.findByLongUrl(longUrl);
  37. if (link == null) {
  38. link = new Link(MD5(longUrl), longUrl);
  39. linkRepository.save(link);
  40. }
  41. return link;
  42. }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement