Get all fields of a particular object in string format in Salesforce

public class AllFieldsStringMaker {

    private static Set lstExcludedFields = new Set{'LastViewedDate', 'LastReferencedDate'};

	public static string fetchAllFields(String objName) {
		String obj       = objName;
		String separator = ',';
		
		Map<String, Schema.SObjectType> gd          = Schema.getGlobalDescribe();
		Schema.SObjectType sobjType                 = gd.get(obj);
		Schema.DescribeSObjectResult describeResult = sobjType.getDescribe();
		Map<String, Schema.SObjectField> fieldsMap  = describeResult.fields.getMap();
		
		List fieldsList = new List();
		for (Schema.SObjectField field : fieldsMap.values()) {
			Schema.DescribeFieldResult dr = field.getDescribe();
            if(!lstExcludedFields.contains(dr.getName())){
			    fieldsList.add(dr.getName());
            }
		}
		String allFields = String.join(fieldsList, separator);
		
		return allFields;
	}
}